python - Python OpenCV DrawContours
问题描述
我正在尝试创建一个程序来破译特定类型的验证码。
我的方法是将验证码拆分为不同的字符(始终由 5 个、仅小写字母和数字组成)并将每个字符存储在一个单独的文件夹中,以便拥有一个用于训练的数据库,然后看看它的性能如何。
尝试使用 openCV 查找轮廓时遇到问题。
这是我的代码:
import numpy as np
import cv2
im = cv2.imread('4n2gd.png')
imcopy = im.copy()
imgray = cv2.cvtColor(imcopy,cv2.COLOR_BGR2GRAY)
img = cv2.medianBlur(imgray,5)
th = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,11,2)
finimg = cv2.bitwise_not(th)
im2, contours, hierarchy = cv2.findContours(finimg,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im, contours, -1, (0,255,0), 1)
cv2.imwrite('modified.png',im)
问题是我希望 CHAIN_APPROX_SIMPLE 在黑色像素的情况下围绕每个集合制作矩形,但它的功能与 CHAIN_APPROX_NONE 相同。
我应该怎么做才能修改它?
解决方案
推荐阅读
- r - 逐步回归的混合效应模型(lme4 语法)
- node.js - 如何使用 log4js-node 编写动态日志文件名?
- javascript - Cordova Android 在没有 wifi 的情况下获得地理定位
- javascript - 一次使用 mat table 加载 7000 行
- sql-server - 如何检索在给定日期之间的每个日期都有价格的属性?
- node.js - 无法运行 NPM 安装,因为它“无法解析依赖树”
- django - 如何使用 Django 编写基于“动态”通用视图的代码?
- python - Ansible 错误没有名为“pkg_resources”的模块
- arrays - 如何创建一个包含超过 32 个通用类型 T: Default 元素的数组?
- python - 如何为第 i 个轴上的每个第 i 个向量分配 numpy 中的 samue 值?