程序地带

框选手写数字(不含识别)



框选手写数字(不含识别)
原理代码现象


原理

导入图片后,对其进行灰度转换,利用高斯滤波,阈值转换,图像腐蚀等手段对其进行图像增强,最后利用cv2.findContours和cv2.boundingRect得到矩形框第一点坐标(x,y),宽w,和高h,最后在原图像画出矩形框。


代码
import cv2
import numpy as np
path='D:/AI_STUDY/test_jpg/1234.jpg'
img = cv2.imread(path,cv2.IMREAD_UNCHANGED)
bw = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
bw = cv2.GaussianBlur(bw,(7,7),0)
ret,thbw = cv2.threshold(bw,140,255,cv2.THRESH_BINARY_INV)
thbw = cv2.erode(thbw,np.ones((2,2),np.uint8),iterations =2)
cnts=cv2.findContours(thbw.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)[-2]
rectangles = []
for c in cnts:
x,y,w,h=cv2.boundingRect(c)
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
cv2.imshow("thbw",thbw)
cv2.imshow("img",img)
cv2.waitKey(0)
现象

黑白二值图 二值图 实际图像 实际图像


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_46301270/article/details/111246032

随机推荐

Matplotlib练习9:subplot

创建一个figure,4个subplotimportmatplotlib.pyplotasplt#创建figureplt.figure()#2行2列放在第一个位置#x,y坐标轴范围0~1...

Aerobatics 阅读(778)

XML DOM

XMLDOMXML文档对象模型定义访问和操作XML文档的标准方法。DOM将XML文档作为一个树形结构,而树叶被定义为节点。什么是DOM?DOM是W3C(万维网...

TLQHT 阅读(647)

癌症检测源码

%%ModelingLungCancerDiagnosisUsingBayesianNetworkInference%ThisdemoillustratesasimpleBayesianNetwork...

fpga&matlab 阅读(139)

inventor软件绘制百叶窗方法_用Inventor软件设计流程

第2章设计流程2.1叙述在做非标机械设计过程中,如果想提高自己的设计效率(这里指的包括三维建模、工程图以及BOM表的处理等),寻找一种合适的设计流程是非常有必要。下面作者根...

weixin_39879219 阅读(552)

markdown 缩进_基于 Markdown 的中文文档排版规范

文章首发于微信公众号“物联网学前班”,知乎对Markdown的支持还是有限,请读原文。基于Markdown的中文文档排版规范​mp.weixin.qq.com本篇文章先介绍...

weixin_39787089 阅读(840)