如何获取裁剪图像相对于原始图像的坐标?

Posted

技术标签:

【中文标题】如何获取裁剪图像相对于原始图像的坐标?【英文标题】:How to get the Coordinates of a cropped image with respect to the original image? 【发布时间】:2017-03-09 09:44:42 【问题描述】:

我必须通过使用以下代码裁剪 50X50 的图像:

def crop_center(img,cropx,cropy):

x=img.shape[0]

y=img.shape[1]

startx = x//2-(cropx//2)
starty = y//2-(cropy//2)
return img[starty:starty+cropy,startx:startx+cropx]

现在我需要获取这张裁剪后的图片相对于原始图像的坐标。该怎么做?

【问题讨论】:

您是否了解您已经拥有的代码?我不这么认为,否则你不会问这个。不要只是复制和粘贴,想想! 【参考方案1】:

您已经使用这些坐标来裁剪图像。

[starty:starty+cropy,startx:startx+cropx]

【讨论】:

我需要在 1024X724 的图像文件上绘制一个框。我首先需要创建 200X200 的补丁,如果它在测试中运行,然后从该特定补丁裁剪 50X50。现在如何使用 50x50 裁剪文件的坐标在原始图像(1024X724)上绘制框 @HergeBristol 这不是您在问题中提出的问题,请更新您的问题并提供更多详细信息。您真正想知道哪个库以及它是什么!这种操作通常是通过应用 ROI 完成的,而不是通过裁剪。 我有一张尺寸为 1024x724 的图像。我使用我创建的函数为此图像创建了重叠补丁。现在我通过一个函数运行这些补丁中的每一个,如果它产生了理想的结果,那么我必须通过检查产生正面结果的补丁的坐标,在原始图像上的 50x50 尺寸的原始图像上绘制一个框.我现在明白,这不能通过裁剪来完成。 @HergeBristol 它可以通过裁剪来完成,尽管它不是很常见,因为裁剪需要额外的计算,而 ROI 仅将您的算法限制在像素范围内。如果您想坚持裁剪,您只需存储该裁剪的源坐标。只需添加一些坐标偏移即可。简单的数学......

以上是关于如何获取裁剪图像相对于原始图像的坐标?的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 环境中,如何获取鼠标点击的坐标(相对于窗口)

在 UIScrollView 中获取 UIImage 可见部分的正确坐标

如何获取用于图像映射的形状的路径坐标?

获取原始图像进行裁剪,忽略宽度属性?

如何裁剪html页面,而不是图像

如何相对于原始图像大小比设置 UIimageview 宽度