opencv实现手写数字图片简单检测并框选
opencv中使用findContours和boundingRect实现了对于手写数字的简单检测和框选。
import cv2
image = cv2.imread('./image/testImage/01234.jpg', 0)
res, image_thresh = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY_INV)
cntrs, hier = cv2.findContours(image_thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 将灰度图转为BGR图
color = cv2.cvtColor(image_thresh, cv2.COLOR_GRAY2BGR)
bounding_boxes = [cv2.boundingRect(cnt) for cnt in cntrs]
for bbox in bounding_boxes:
'''寻找x,y坐标以及宽度和高度'''
[x, y, w, h] = bbox
cv2.rectangle(color, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow("name", color)
cv2.waitKey(0)