【发布时间】:2019-07-19 22:11:22
【问题描述】:
在给定车牌边界框坐标的情况下,我需要使用 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)
谢谢。
【问题讨论】:
-
我看到你标记了
opencv,所以我假设你用它加载了你的图像。你可以只做切片:image[y1:y2, x1:x2] -
感谢您的回复。我尝试了这个建议。我在帖子中附上了裁剪后的图像。切片有效,但盘子的某些部分被遗漏了,因为它不是一个完美的矩形。有什么办法可以避免这种情况(也许使用所有 4 个坐标)?谢谢!
-
你也可以看看stackoverflow.com/questions/61178736/…,是一样的,只是结果的方法不同。
标签: python opencv matplotlib image-processing crop