去除印章 ----python
#-*- coding: utf-8 -*-
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
class Image:
def __init__(self,filename):
self.filename = filename
self.image = None
self.Bch = None
self.Gch = None
self.Rch = None
return
def load(self):
self.image = cv.imread(self.filename,cv.IMREAD_ANYCOLOR)
row, col, _ = self.image.shape
ratio = 1
if row/320 > 1.0:
ratio = float(320/row)
cv.resize(self.image,(int(ratio*row),int(ratio*col)))
return
def HSV_img(self):
hsv = cv.cvtColor(self.image,cv.COLOR_BGR2HSV)
#顏色的HSV值,比如要提取圖中紅色
blow = np.array([156, 43, 46])
btop = np.array([180, 255, 255])
mask = cv.inRange(hsv, blow, btop)
out = cv.bitwise_and(self.image,hsv,mask=mask)
cv.imshow('out',out)
cv.waitKey(500)
return
# 獲取三通道
def BGR_img(self):
#獲取三通道
self.Bch, self.Gch, self.Rch = cv.split(self.image)
cv.imshow('Rch',self.Rch)
cv.waitKey(500)
return
def HIST_img(self):
# 降維
red = self.Rch.flatten()
plt.figure()
histogram,bins,patch=plt.hist(red, 256, facecolor='cyan', histtype='bar') # facecolor設定為黑色
maxIndex = np.argsort(histogram)[:-1]
j = 0
for i in range(len(maxIndex) - 1):
k = maxIndex[i+1]
#70可調,是根據影像來調節的
if maxIndex[i] - k > 70:
j = k
res, thresh = cv.threshold(self.Rch, j, 255, cv.THRESH_BINARY)
kernel = np.ones((3, 3), np.uint8)
# 腐蝕
erosion = cv.erode(thresh, kernel=kernel, iterations=1)
# 膨脹
dilation = cv.dilate(thresh, kernel, iterations=1)
cv.imshow('thresh',thresh)
cv.imshow('erosion',erosion)
cv.imshow('dilation', dilation)
cv.waitKey(500)
plt.show()
def run(self):
self.load()
self.HSV_img()
self.BGR_img()
self.HIST_img()
I = Image(影像地址)
I.run()
相關文章
- rembg 去除背景的 python工具REMPython
- 在Python中使用SWCNN去除水印PythonCNN
- python中列表如何去除重複Python
- Java 給Word新增印章Java
- python去除圖片白邊黑邊Python
- 如何使用Python去除檔案字尾名?Python
- python去除字串的前導或後續Python字串
- 印章怎麼變成剛硬章
- java 電子印章 png 透明圖片Java
- 使用opencvjs提取圖片中的紅色印章OpenCVJS
- Python中去除重複資料的方法有哪些?Python
- 區塊鏈電子印章應用研發區塊鏈
- Logreduce:用 Python 和機器學習去除日誌噪音Python機器學習
- 基於python的圖片修復程式-可用於水印去除Python
- Python連線兩個字串並去除首尾重複子串Python字串
- hive去除空格Hive
- Cobaltstrike去除特徵特徵
- pageoffice 6 實現pdf加蓋印章和簽字功能
- 如何去除特殊字元字元
- 去除nag彈窗
- eslint 校驗去除EsLint
- 使用Python快速去除天貓工商執照圖片純色水印Python
- python中使用os模組的popen方法,去除輸出多餘的空行Python
- 【MATLAB】去除imagesc()白邊Matlab
- labelme去除空圖片
- 關於去除 (全形空格)
- QWebEngineView去除自帶CookieWebViewCookie
- Button去除邊框方法
- win10如何去除小盾牌_w10小盾牌怎麼去除Win10
- 小程式中button的邊框無法去除 button邊框如何去除
- 一文搞定Python大小寫轉換,首字母大寫,去除特殊字元Python字元
- 2.去除字元strip方法字元
- google chrome去除組織策略GoChrome
- WINRAR廣告頁面去除
- nginx反向代理配置去除字首Nginx
- List中去除重複物件物件
- a標籤去除原始樣式
- 316. 去除重複字母