如何获取裁剪图像相对于原始图像的坐标?
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 环境中,如何获取鼠标点击的坐标(相对于窗口)