【发布时间】:2017-06-05 03:33:30
【问题描述】:
我正在读取图像并通过传递矩形的左上角坐标和右下角坐标然后裁剪图像来查找感兴趣的区域。一些客户端提供相同图像的 100 dpi、200 dpi 或 400 dpi 图像的样本。在这类图像中,当图像具有不同 dpi 时,输入坐标位于其他位置。我正在做template matching 任务,我给出了包含文本的小模板。找到文本后,将边界框绘制到匹配的部分。从那个边界框参考中,我必须从图像中找到父矩形,然后保存在文件夹中。对于 100 dpi 的图像,它可以工作,但是一旦我用不同的 dpi 矩形更改图像就会缩小。图片是:
模板匹配链接中更新了以下代码:
startX = abs(startX - 113)
startY = abs(startY - 5)
endX = abs(endX + 117)
endY = abs(endY + 208)
cv2.rectangle(image, (startX, startY), (endX, endY), (0, 0, 255), 2)
以下代码用于查找矩形和裁剪:
first = [660,1000]
last = [1030,1400]
i = 1
for imagePath in glob.glob(args["images"] + "/*.jpg"):
print imagePath
image = cv2.imread(imagePath)
cropped = ROI_extract(first,last,image)
savingName = "SGBAU_pink/pnr" + str(i) + ".jpg"
cv2.imwrite(savingName, cropped)
i = i + 1
cv2.imshow("Cropped",cropped)
cv2.waitKey(0)
如何解决问题以找到不同 dpi 图像的实际感兴趣区域并找到准确的 ROI?给出一些粗略的想法来解决它。
【问题讨论】: