python - 寻找两部分字母的轮廓
问题描述
假设我有一个字母的图像,我想找到这些字母的区域。
我写了这段代码:
MIN_CONTOUR_AREA = 10
img = cv2.imread("alphabets.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
blured = cv2.blur(gray, (5,5), 0)
img_thresh = cv2.adaptiveThreshold(blured, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2)
imgContours, Contours, Hierarchy = cv2.findContours(img_thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
for contour in Contours:
if cv2.contourArea(contour) > MIN_CONTOUR_AREA:
[X, Y, W, H] = cv2.boundingRect(contour)
cv2.rectangle(img, (X, Y), (X + W, Y + H), (0,0,255), 2)
cv2.imshow('contour', img)
但是上面的代码有这个输出: 结果
我该怎么做才能找到不连续的字母(如“i”或阿拉伯字母)的轮廓?
解决方案
推荐阅读
- javascript - 动画冒泡排序算法
- javascript - 用 Example 解释 JavaScript 代码中需要的 ActiveMQ 参数
- authentication - .NET Core Soap PlatformNotSupportedException,无法创建自定义绑定
- javascript - 如何修复“文档未定义”
- json - 无法在 https 服务器中下载 json 数据,在本地也可以正常工作
- java - JaxB:将 xsi:type 和 xmlns:q1 设置为请求对象
- python - 每年在python中生成日期范围?
- angular - IE 11 在尝试调用 HTTP 获取请求时给出“无效的调用对象”
- c# - 带有编码字符串的 URI 对象行为
- java - 如何限制用户在android中手动编辑日历