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使用正则表达式检测密码强度源码分享
Jun 11 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
Jun 01 Python
python使用opencv读取图片的实例
Aug 17 Python
Python中xrange与yield的用法实例分析
Dec 26 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
python cv2在验证码识别中应用实例解析
Dec 25 Python
基于keras 模型、结构、权重保存的实现
Jan 24 Python
jupyter notebook 多环境conda kernel配置方式
Apr 10 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
Jan 22 Python
Python 高级库15 个让新手爱不释手(推荐)
May 15 Python
详解Python常用的魔法方法
Jun 03 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
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
简单的PHP图片上传程序
2008/03/27 PHP
PHP读取xml方法介绍
2013/01/12 PHP
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
js对象数组和对象的使用实例详解
2019/08/27 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
在Python中使用Neo4j数据库的教程
2015/04/16 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
解决Python selenium get页面很慢时的问题
2019/01/30 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
Python生成个性签名图片获取GUI过程解析
2019/12/16 Python
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
劳资人员岗位职责
2013/12/19 职场文书
篝火晚会主持词
2014/03/25 职场文书
实习协议书范本
2014/04/22 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
学校捐书活动总结
2015/05/08 职场文书