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深入学习之特殊方法与多范式
Aug 31 Python
python使用cPickle模块序列化实例
Sep 25 Python
使用httplib模块来制作Python下HTTP客户端的方法
Jun 19 Python
简单介绍使用Python解析并修改XML文档的方法
Oct 15 Python
Python实现爬取需要登录的网站完整示例
Aug 19 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
Python日志模块logging基本用法分析
Aug 23 Python
对python中Librosa的mfcc步骤详解
Jan 09 Python
如何利用Python分析出微信朋友男女统计图
Jan 25 Python
PyCharm中代码字体大小调整方法
Jul 29 Python
python使用 __init__初始化操作简单示例
Sep 26 Python
Python读写锁实现实现代码解析
Nov 28 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 print类函数使用总结
2010/06/25 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
YII框架实现自定义第三方扩展操作示例
2019/04/26 PHP
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
js实现鼠标经过表格行变色的方法
2015/05/12 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python实现通讯录功能
2018/02/22 Python
python模块smtplib学习
2018/05/22 Python
django-filter和普通查询的例子
2019/08/12 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
python实现梯度法 python最速下降法
2020/03/24 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
开发房地产协议书
2014/09/14 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
2014年管理工作总结
2014/11/22 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL