Python OpenCV去除字母后面的雜線操作
阿新 • • 發佈:2020-07-06
原圖
程式碼
src = cv2.imread("28.png") gray_src = cv2.cvtColor(src,cv2.COLOR_BGR2GRAY) #cv2.imshow("input image",src) #cv2.imshow("gray image",gray_src) #cv2.waitKey(0) gray_src = cv2.bitwise_not(gray_src) #二值化 binary_src = cv2.adaptiveThreshold(gray_src,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,15,-2) cv2.namedWindow("result image",cv2.WINDOW_AUTOSIZE) cv2.imshow("result image",binary_src) #cv2.waitKey(0) # 提取水平線 src.shape[1]得到src列數 #hline = cv2.getStructuringElement(cv2.MORPH_RECT,(1,1),(-1,-1)) hline = cv2.getStructuringElement(cv2.MORPH_RECT,4),-1)) #定義結構元素,卷積核 # 提取垂直線 src.shape[0]得到src行數 vline = cv2.getStructuringElement(cv2.MORPH_RECT,(4,-1)) #vline = cv2.getStructuringElement(cv2.MORPH_RECT,(3,3)) # 這兩步就是形態學的開操作——先腐蝕再膨脹 #temp = cv2.erode(binary_src,hline) #腐蝕 #dst = cv2.dilate(temp,hline) #膨脹 # 開運算 dst = cv2.morphologyEx(binary_src,cv2.MORPH_OPEN,hline) #水平方向 dst = cv2.morphologyEx(dst,vline) #垂直方向 #將二指圖片的效果反轉既黑色變白色,白色變黑色。 非操作 dst = cv2.bitwise_not(dst) cv2.imshow("Final image",dst) cv2.waitKey(0)
結果圖,還有一些點需要進一步處理
補充知識:Opencv 提取水平 垂直線,去除雜線,提取物件
我就廢話不多說了,大家還是直接看程式碼吧~
#include<opencv2\opencv.hpp> #include<iostream> using namespace std; using namespace cv; int main(int argc,char* argv[]) { Mat src = imread("截圖3.jpg"); if (src.empty()) { return -1; } String strInput = "input image"; namedWindow(strInput,CV_WINDOW_AUTOSIZE); imshow(strInput,src); Mat dst; cvtColor(src,dst,CV_BGR2GRAY);//轉灰度 imshow("output grap image",dst); Mat binimg; adaptiveThreshold(~dst,binimg,ADAPTIVE_THRESH_MEAN_C,-2);//轉二值 imshow("binary image",binimg); Mat hLine = getStructuringElement(MORPH_RECT,Size(src.cols/16,Point(-1,-1));//水平結構 Mat vLine = getStructuringElement(MORPH_RECT,Size(1,src.rows / 16),-1));//垂直結構 Mat kernel = getStructuringElement(MORPH_RECT,Size(3,3),-1));//去除雜線 提取物件 Mat tmp; //erode(binimg,tmp,vLine); //dilate(tmp,vLine); morphologyEx(binimg,CV_MOP_OPEN,hLine); bitwise_not(dst,dst);//取反 blur(dst,-1)); imshow("Final image",dst); waitKey(0); return 0; }
以上這篇Python OpenCV去除字母后面的雜線操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。