Python OpenCV去除字母后面的杂线操作


Posted in Python onJuly 05, 2020

原图

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列数
  #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)

结果图,还有一些点需要进一步处理

Python OpenCV去除字母后面的杂线操作

补充知识:Opencv 提取水平 垂直线,去除杂线,提取对象

Python 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去除字母后面的杂线操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 Python
python binascii 进制转换实例
Jun 12 Python
用python建立两个Y轴的XY曲线图方法
Jul 08 Python
python3.7 sys模块的具体使用
Jul 22 Python
python @classmethod 的使用场合详解
Aug 23 Python
Python可变参数会自动填充前面的默认同名参数实例
Nov 18 Python
python无序链表删除重复项的方法
Jan 17 Python
用Python绘制漫步图实例讲解
Feb 26 Python
python中shell执行知识点
May 06 Python
详解Django ORM引发的数据库N+1性能问题
Oct 12 Python
CocosCreator ScrollView优化系列之分帧加载
Apr 14 Python
使用OpenCV去除面积较小的连通域
Jul 05 #Python
学python最电脑配置有要求么
Jul 05 #Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
Jul 05 #Python
python怎么对数字进行过滤
Jul 05 #Python
python主要用于哪些方向
Jul 05 #Python
python右对齐的实例方法
Jul 05 #Python
使用Python-OpenCV消除图像中孤立的小区域操作
Jul 05 #Python
You might like
PHP实现下载断点续传的方法
2014/11/12 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
根据地区不同显示时间的javascript代码
2007/08/13 Javascript
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
jqPlot Option配置对象详解
2009/07/25 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
jquery $.ajax相关用法分享
2012/03/16 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
jQuery实现 RadioButton做必选校验功能
2017/06/15 jQuery
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
从零学python系列之从文件读取和保存数据
2014/05/23 Python
Python中的闭包实例详解
2014/08/29 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
Django--权限Permissions的例子
2019/08/28 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
win10安装python3.6的常见问题
2020/07/01 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
pip install命令安装扩展库整理
2021/03/02 Python
canvas实现手机的手势解锁的步骤详细
2020/03/16 HTML / CSS
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
领导干部考察材料
2014/02/08 职场文书
工人先进事迹材料
2014/12/26 职场文书
2015年端午节活动方案
2015/05/05 职场文书
如何写辞职信
2015/05/13 职场文书
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS
浅谈Python魔法方法
2021/06/28 Java/Android
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android