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编码总结(编码类型、格式、转码)
Jul 01 Python
Flask框架的学习指南之制作简单blog系统
Nov 20 Python
简单了解什么是神经网络
Dec 23 Python
Linux 修改Python命令的方法示例
Dec 03 Python
Python一个简单的通信程序(客户端 服务器)
Mar 06 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
Django框架 Pagination分页实现代码实例
Sep 04 Python
如何使用python进行pdf文件分割
Nov 11 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
django在开发中取消外键约束的实现
May 20 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
Jun 01 Python
python之json文件转xml文件案例讲解
Aug 07 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面向对象全攻略 (九)访问类型
2009/09/30 PHP
PHP字符串 ==比较运算符的副作用
2009/10/21 PHP
php 多线程上下文中安全写文件实现代码
2009/12/28 PHP
php实现快速排序法函数代码
2012/08/27 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
一段实时更新的时间代码
2006/07/07 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
jQuery cdn使用介绍
2013/05/08 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
详解Document.Cookie
2015/12/25 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
JsChart组件使用详解
2018/03/04 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
python 利用for循环 保存多个图像或者文件的实例
2018/11/09 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
商务英语应届生自我鉴定
2013/12/08 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
施工安全员岗位职责
2015/04/11 职场文书
部门主管竞聘书
2015/09/15 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
win10频率超出范围怎么办?win10老显示超出工作频率范围的解决方法
2022/07/07 数码科技