目前,我正在尝试编写一个程序,可以检测手写数字和数学字,如日志和罪恶。然而,现在我的程序只能检测单个符号,所以当数字被检测到时,单词被检测为单独的字母。附件是我目前的代码。你知道吗
import cv2
import numpy as np
from PIL import Image, ImageOps
img = cv2.imread("example.JPG")
morph = img.copy()
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (1, 1))
morph = cv2.morphologyEx(morph, cv2.MORPH_CLOSE, kernel)
morph = cv2.morphologyEx(morph, cv2.MORPH_OPEN, kernel)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 15))
# take morphological gradient
gradient_image = cv2.morphologyEx(morph, cv2.MORPH_GRADIENT, kernel)
gray = cv2.cvtColor(gradient_image, cv2.COLOR_BGR2GRAY)
#take this out?
img_grey = cv2.morphologyEx(gray, cv2.MORPH_CLOSE, kernel)
# blur = cv2.medianBlur(gray,5)
blur = cv2.medianBlur(img_grey,3)
ret, thing = cv2.threshold(blur, 0.0, 255.0, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
img_dilation = cv2.dilate(thing, kernel, iterations=3)
cv2.imwrite("check_equal.jpg", img_dilation)
conturs_lst = cv2.findContours(img_dilation, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]
coor_lst = []
for cnt in conturs_lst:
x,y,w,h = cv2.boundingRect(cnt)
if w < 15 or h < 15:
continue
coor_lst.append((x,y,w,h))
如何保持数字的行为相同,但让程序检测到事物是单词,并在整个单词周围绘制边界框?你知道吗
您的问题:
您可以选择:
引文: 多年的计算机视觉研究 https://en.wikipedia.org/wiki/MNIST_database#Dataset
相关问题 更多 >
编程相关推荐