我正在OCR文件图像工作。我要检测所有图片并从文档图像中删除。我想在文档图像中保留表。一旦我检测到图片,我会删除,然后想OCR。我试着寻找轮廓,试着探测所有更大的区域。不幸的是,它也检测表。以及如何删除文档图像中保留其他数据的对象。我正在使用opencv和python
这是我的密码
import os
from PIL import Image
import pytesseract
img = cv2.imread('block2.jpg' , 0)
mask = np.ones(img.shape[:2], dtype="uint8") * 255
ret,thresh1 = cv2.threshold(img,127,255,0)
contours, sd = cv2.findContours(thresh1,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
areacontainer = []
for cnt in contours:
area = cv2.contourArea(cnt)
areacontainer.append(area)
avgArea = sum(areacontainer)/len(areacontainer)
[enter code here][1]
for c in contours:# average area heuristics
if cv2.contourArea(c)>6*avgArea:
cv2.drawContours(mask, [c], -1, 0, -1)
binary = cv2.bitwise_and(img, img, mask=mask) # subtracting
cv2.imwrite("bin.jpg" , binary)
cv2.imwrite("mask.jpg" , mask)
这里有一个方法:
这是检测到的以绿色突出显示的肖像
现在我们有了边界框roi,我们可以通过填充白色来有效地移除图片。结果是这样的
相关问题 更多 >
编程相关推荐