python - 如何使用yolo格式图像坐标裁剪图像
问题描述
问候 stackoverflow 社区,我有 200 张带有自定义模型标签txt
文件的图像。
现在我想使用坐标裁剪这些图像中存在的所有头部。
我试过了。
但我收到错误。
你能帮我自动裁剪这些图像的所有头部吗?yolo
txt
opencv
请看更新代码:
import cv2
img = cv2.imread(<image path>)
dh, dw, _ = img.shape
print(dh,dw)
x,y,w,h = 0.360667, 0.089000, 0.113333, 0.130000
x,y,w,h = int(x*dw), int(y*dh), int(w*dw), int(h*dh)
print(x, y, w, h)
imgCrop = img[y:y+h,x:x+w]
cv2.imshow("Crop Image",imgCrop)
cv2.waitKey(0)
为了更好地理解问题,请查看以下图片:
解决方案
您需要将这些浮点值转换为整数。您可以通过将它们乘以图像的宽度和高度然后将它们转换为整数来做到这一点。
例子:
x,y,h,w = int(x*img_width), int(y*img_height), int(h*img_higth), int(w*img_width)
然后索引图像:
imgCrop = img[x:x+w, y:y+h]
推荐阅读
- python - Pandas Dataframe 保存到 CSV 更改时间列表
- excel - 如何在数据透视表中创建汇总商店收入的范围
- python - 在函数结束之前分配 Python 变量
- html - 如何缩短边框?
- postgresql - 有没有办法从“plpy.error”引发的异常中删除“plpy.Error:”前缀?
- r - lapply 和 mutate_all/for 循环
- jquery - 使用 setInterval 分别显示 MySQL 表中的随机记录
- iis - 为什么 EnsureDispatch 创建新实例?
- html - 溢出的内容似乎仍以页面宽度计算
- python - 如何使用理解将列表项转换为字典键值对