原图
代码
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, (1, 4), (-1, -1)) #定义结构元素,卷积核 # 提取垂直线 src.shape[0]得到src行数 vline = cv2.getStructuringElement(cv2.MORPH_RECT, (4, 1), (-1, -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, cv2.MORPH_OPEN, 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, 255, ADAPTIVE_THRESH_MEAN_C, ADAPTIVE_THRESH_MEAN_C, 15, -2);//转二值 imshow("binary image", binimg); Mat hLine = getStructuringElement(MORPH_RECT, Size(src.cols/16, 1), Point(-1, -1));//水平结构 Mat vLine = getStructuringElement(MORPH_RECT, Size(1, src.rows / 16), Point(-1, -1));//垂直结构 Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3), Point(-1, -1));//去除杂线 提取对象 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去除字母后面的杂线操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“Python OpenCV去除字母后面的杂线操作”评论...
更新日志
2024年11月08日
2024年11月08日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]