Python OpenCV去除字母后面的雜線操作
原圖
代碼
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列數(shù) #hline = cv2.getStructuringElement(cv2.MORPH_RECT, (1, 1), (-1, -1)) hline = cv2.getStructuringElement(cv2.MORPH_RECT, (1, 4), (-1, -1)) #定義結(jié)構(gòu)元素,卷積核 # 提取垂直線 src.shape[0]得到src行數(shù) vline = cv2.getStructuringElement(cv2.MORPH_RECT, (4, 1), (-1, -1)) #vline = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3)) # 這兩步就是形態(tài)學(xué)的開(kāi)操作——先腐蝕再膨脹 #temp = cv2.erode(binary_src, hline) #腐蝕 #dst = cv2.dilate(temp, hline) #膨脹 # 開(kāi)運(yùn)算 dst = cv2.morphologyEx(binary_src, cv2.MORPH_OPEN, hline) #水平方向 dst = cv2.morphologyEx(dst, cv2.MORPH_OPEN, vline) #垂直方向 #將二指圖片的效果反轉(zhuǎn)既黑色變白色,白色變黑色。 非操作 dst = cv2.bitwise_not(dst) cv2.imshow("Final image", dst) cv2.waitKey(0)
結(jié)果圖,還有一些點(diǎn)需要進(jìn)一步處理
補(bǔ)充知識(shí):Opencv 提取水平 垂直線,去除雜線,提取對(duì)象
我就廢話不多說(shuō)了,大家還是直接看代碼吧~
#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);//轉(zhuǎn)灰度 imshow("output grap image", dst); Mat binimg; adaptiveThreshold(~dst, binimg, 255, ADAPTIVE_THRESH_MEAN_C, ADAPTIVE_THRESH_MEAN_C, 15, -2);//轉(zhuǎn)二值 imshow("binary image", binimg); Mat hLine = getStructuringElement(MORPH_RECT, Size(src.cols/16, 1), Point(-1, -1));//水平結(jié)構(gòu) Mat vLine = getStructuringElement(MORPH_RECT, Size(1, src.rows / 16), Point(-1, -1));//垂直結(jié)構(gòu) Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3), Point(-1, -1));//去除雜線 提取對(duì)象 Mat tmp; //erode(binimg, tmp, vLine); //dilate(tmp, dst, vLine); morphologyEx(binimg, dst, CV_MOP_OPEN,hLine); bitwise_not(dst, dst);//取反 blur(dst, dst, Size(3, 3), Point(-1, -1)); imshow("Final image", dst); waitKey(0); return 0; }
以上這篇Python OpenCV去除字母后面的雜線操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python實(shí)現(xiàn)VPN搭建的流程步驟
VPN(虛擬私人網(wǎng)絡(luò))是一種有效的解決方案,可以幫助我們?cè)诰W(wǎng)絡(luò)上匿名瀏覽,保護(hù)數(shù)據(jù)傳輸?shù)陌踩?雖然市面上有許多商業(yè)VPN服務(wù),但你也可以通過(guò)Python自己搭建一個(gè)簡(jiǎn)單的VPN,本文將介紹如何用Python建立自己的VPN,需要的朋友可以參考下2024-06-06Python實(shí)現(xiàn)批量執(zhí)行同目錄下的py文件方法
今天小編就為大家分享一篇Python實(shí)現(xiàn)批量執(zhí)行同目錄下的py文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01python實(shí)現(xiàn)應(yīng)用程序在右鍵菜單中添加打開(kāi)方式功能
這篇文章主要介紹了python實(shí)現(xiàn)應(yīng)用程序在右鍵菜單中添加打開(kāi)方式功能,本文分步驟給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01Python3.5 Pandas模塊之Series用法實(shí)例分析
這篇文章主要介紹了Python3.5 Pandas模塊之Series用法,結(jié)合實(shí)例形式分析了Python3.5中Pandas模塊的Series結(jié)構(gòu)原理、創(chuàng)建、獲取、運(yùn)算等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-04-04Python用61行代碼實(shí)現(xiàn)圖片像素化的示例代碼
這篇文章主要介紹了Python用61行代碼實(shí)現(xiàn)圖片像素化的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12PyQt5 對(duì)圖片進(jìn)行縮放的實(shí)例
今天小編就為大家分享一篇PyQt5 對(duì)圖片進(jìn)行縮放的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(一)
這篇文章主要介紹了python網(wǎng)絡(luò)編程基礎(chǔ)知識(shí),需要的朋友可以參考下2014-06-06Python實(shí)現(xiàn)獲取內(nèi)網(wǎng)IP地址的方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了五種利用Python語(yǔ)言實(shí)現(xiàn)獲取內(nèi)網(wǎng)IP地址的方法,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以了解一下2023-03-03