Opencv:不同dpi图像的感兴趣区域(ROI)

2024-09-26 18:01:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在阅读图像,并通过传递矩形的左上角坐标和右下角坐标,然后旋转图像。一些客户机提供相同图像的100 dpi、200 dpi或400 dpi图像的示例。在这类图像中,当图像具有不同的dpi时,输入坐标位于其他位置。我正在做template matching任务,其中我给出了包含文本的小模板。找到匹配的文本框后,绘制出匹配的文本框。从那个边界框引用,我必须从图像中找到父矩形,然后保存到文件夹中。对于100 dpi的图像,它是工作的,但一旦我改变了不同dpi的图像矩形收缩。图像包括:

enter image description here

以下代码在模板匹配链接中更新:

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)

下面的代码用于查找矩形和裁剪:

^{pr2}$

如何解决一个问题,以找到不同dpi图像的实际感兴趣区域并找到准确的ROI?给出一些粗略的想法来解决它。在


Tags: 代码图像模板示例客户机templateabs文本框
1条回答
网友
1楼 · 发布于 2024-09-26 18:01:27

OpenCV并不真正关心DPI,它只是使用Mat来包含图像。我不太确定我是否理解您要编译的内容,但如果您的坐标单位是英寸,并且知道源DPI,则可以按行和列进行转换:

x_px=x_英寸*DPI

y_px=y_英寸*DPI

否则,如果所有图像的比例相同,但分辨率不同,您可以简单地将它们缩放到一个参考大小(即正在工作的100dpi分辨率)。为此,可以在OpenCV中使用resize函数。在

相关问题 更多 >

    热门问题