如何裁剪与其他文本重叠的不同颜色的文本?我无法使用 inRange 去除蓝色,因为有很多图像具有不同的光线和对比度。我无法在Range 中使用const 值。如何找到在范围内使用的值或以其他方式裁剪黑色字体文本。 (滤镜,或其他图像处理方法)
不是:所有相同类型的卡片图像。数字和“Gozlu”是黑色字体,标题字体是蓝色。因为光(我猜)几乎无法辨认。
这似乎适用于 Python/Opencv 中的这两个图像。
输入1:
输入2:
import cv2
import numpy as np
# load images
img1 = cv2.imread('img1.jpg')
img2 = cv2.imread('img2.jpg')
# set black ranges
lower = (0,0,0)
upper = (50,30,50)
# threshold on black
result1 = cv2.inRange(img1, lower, upper)
result2 = cv2.inRange(img2, lower, upper)
# save output
cv2.imwrite('img1_thresh.jpg', result1)
cv2.imwrite('img2_thresh.jpg', result2)
# display results
cv2.imshow('img1_thresh',result1)
cv2.imshow('img2_thresh',result2)
cv2.waitKey(0)
cv2.destroyAllWindows()
结果1:
结果2:
添加一点形态接近填充字符。
我想检测是否存在重叠,我该怎么做?