【发布时间】:2020-07-03 20:48:20
【问题描述】:
我正在用 python 进行一些图像处理,并且需要在数千张图像中裁剪多个区域。用于裁剪 ROI(感兴趣区域)的像素坐标数据位于 Excel 电子表格中,并在 ONE 列中以 THREE 逗号分隔值排列。从这个example data 可以看出,每个图像中有多个需要裁剪的 ROI。
此列中的三个像素坐标值显示为[x,y,r],其中“x/y”坐标值标记左上角 的方形 ROI,“r”值表示 四个边的长度 as seen here 。显然,在框的每个角没有多个 x/y 值的情况下找到 ROI 的方法是:“ROI = im[Y:Y+R, X:X+R]”,但是我很难达到这个阶段。
我已经使用 pandas.read_excel 函数读取电子表格,但是我还在努力获得进一步的信息?有人可以帮忙吗?
谢谢,罗德
【问题讨论】:
-
你已经问过这个问题,我要求你提供一个真实的电子表格样本。您现在已经提供了电子表格的“图片”,任何人都无法在 Excel 中打开它。图片也无法告诉我们您的电子表格是 CSV、XLS 还是 XLSX 文件,因此您无法帮助自己。请通过 Dropbox 或 Google Drive 等提供示例电子表格。谢谢。
-
抱歉,我觉得我的第一个问题不清楚,所以想完善它。您可以在此处找到数据样本:liveplymouthac-my.sharepoint.com/:f:/g/personal/…(我还包含了前 5 张图片,以便您查看图片的样子)
-
我认为如果您将其分解为多个步骤,您的问题将很容易解决。使用
pandas可以轻松地遍历列。扩展pandas中的列表是 S/O 上的一个著名问题。从 x、y 和高度/宽度进行裁剪也已在此处进行了多次。 -
是的,熊猫是天赐之物。我设法遍历列没问题,这只是使用我正在努力解决的 x/y/r 方法进行裁剪。已经回答了吗?我找不到问题的答案,所以它一定是我搜索时的措辞。我会尝试再次找到它。干杯
-
你提到的方法有什么问题?
ROI = im[Y:Y+R, X:X+R]?我这样做了很多次。
标签: python pandas image-processing jupyter-notebook crop