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教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
python脚本实现xls(xlsx)转成csv
Apr 10 Python
python笔记:mysql、redis操作方法
Jun 28 Python
浅谈Python的条件判断语句if/else语句
Mar 21 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
详解如何减少python内存的消耗
Aug 09 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
基于Python爬虫采集天气网实时信息
Jun 05 Python
详解python中的闭包
Sep 07 Python
python获取本周、上周、本月、上月及本季的时间代码实例
Sep 08 Python
利用python 读写csv文件
Sep 10 Python
python-地图可视化组件folium的操作
Dec 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
在Windows中安装Apache2和PHP4的权威指南
2006/10/09 PHP
php url路由入门实例
2014/04/23 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
基于jquery的分页控件(C#)
2011/01/06 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
Python+微信接口实现运维报警
2016/08/27 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
2018/04/18 Python
python寻找list中最大值、最小值并返回其所在位置的方法
2018/06/27 Python
Python根据欧拉角求旋转矩阵的实例
2019/01/28 Python
Django实现文件上传和下载功能
2019/10/06 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
Java的类与C++的类有什么不同
2014/01/18 面试题
荆州古城导游词
2015/02/06 职场文书
老公写给老婆的检讨书
2015/05/06 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js