gpt4 book ai didi

python - 从图像中提取对象

转载 作者:行者123 更新时间:2023-12-02 17:34:48 24 4
gpt4 key购买 nike

我有车牌的图像(图像像这些示例图像一样被裁剪)。我想从输入图像中只提取板。

我已经应用了 OpenCV Canny Edge 检测器,但我无法取得进一步进展。
任何人都可以帮助我吗?

我的最终目标是用我的公司 Logo 替换板。

车牌图像示例:

License Plate

enter image description here

最佳答案

有很多不同的方法。如果您使用 cv2.Canny() 提取了边缘然后您可以使用 cv2.findContours() 提取轮廓.一旦你有了它,你可以用 cv2.drawContours() 画出盘子。或制作轮廓的蒙版,然后添加您的 Logo 等。

您可以尝试使用 cv2.threshold() 将裁剪区域转换为二值图像,而不是 Canny 边缘检测。和寻找轮廓。您甚至可以添加一些标准来定义正确的轮廓,例如它占据的区域、轮廓的周长、高度、长度等。

例如:

import cv2
import numpy as np

img = cv2.imread('license.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, threshold = cv2.threshold(gray,170,255,cv2.THRESH_BINARY)
_, contours, hierarchy = cv2.findContours(threshold, cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)

for cnt in contours:
size = cv2.contourArea(cnt)
perimeter = cv2.arcLength(cnt,True)
x,y,w,h = cv2.boundingRect(cnt)
if 10000 > size > 1000 and w < 140 and h > 50 and perimeter < 360:
cv2.drawContours(img, [cnt], 0, (255,255,255), -1)

cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果:

enter image description here

enter image description here

希望它对您有所帮助或为您提供有关该问题的新观点。干杯!

关于python - 从图像中提取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52297189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com