python - 给定要裁剪的四个角的坐标,如何裁剪图像
问题描述
给定车牌边界框的坐标,我需要使用 python 从汽车图像中裁剪车牌。(4 个坐标)。关于我如何做到这一点的任何提示?
我有以下代码,但没有按预期工作。
> x1, y1: 1112 711
> x2, y2: 1328 698
> x3, y3: 1330 749
> x4, y4: 1115 761
image = cv2.imread(IMAGE_PATH)
fixed_image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
new_img = cv2.rectangle(fixed_image, (x3,y3), (x1,y1), (0, 255, 0), 5)
plt.figure(figsize=(12,13))
plt.imshow(new_img)
谢谢你。
解决方案
因为你得到的坐标是一个多边形而不是一个矩形,你必须在你的切片中做一些调整,最简单的就是调整你的矩形:
x1,y1:1112 711
x2,y2:1328 698
x3,y3:1330 749
x4,y4:1115 761
top_left_x = min([x1,x2,x3,x4])
top_left_y = min([y1,y2,y3,y4])
bot_right_x = max([x1,x2,x3,x4])
bot_right_y = max([y1,y2,y3,y4])
现在你可以做
img[top_left_y:bot_right_y, top_left_x:bot_right_x]
请注意,切片不包括终点,所以你可能想做
img[top_left_y:bot_right_y+1, top_left_x:bot_right_x+1]
推荐阅读
- python - 哪些运算符要重载以使 Python 设置为正常运行
- python - Python 脚本 - 使用 mailmerge 将图像插入 docx 文件
- javascript - 在 HTML 中显示/隐藏 UI 元素的问题
- php - 预处理功能未在主题drupal 8上运行
- image - iText7 将 SVG 添加到 PdfDocument 并在 PDF 中正确对齐 SVG 图像
- python - 按名称使用自动连接插槽
- php - 防止 Laravel 中同时发生模型突变的最佳方法
- .net - 实体框架返回一个字段
- wordpress - 在 Wordpress REST API 中按菜单顺序排序?
- docusignapi - 收件人视图未合并