gpt4 book ai didi

python - 磁条(黑色矩形)检测

转载 作者:太空宇宙 更新时间:2023-11-03 22:37:41 26 4
gpt4 key购买 nike

我正在尝试检测放在人脸前的信用卡磁条。首先,我尝试使用 Canny 边缘检测器检测边界。虽然有清晰的边缘可见,但边缘检测无法检测到不连续的边界。下面是我为获得结果而运行的代码:

img = cv2.imread(input_dir + str(f))

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = cv2.bilateralFilter(gray, 5, 10, 10)
edges = cv2.Canny(gray, 20, 60)

plt.subplot(121), plt.imshow(gray, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(edges, cmap='gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
plt.show()

enter image description here

源图片:

enter image description here

预期结果(红色区域): enter image description here

如有任何帮助,我将不胜感激。

谢谢,

尼科

最佳答案

更新:

将颜色空间转换为 HSV 后执行双阈值处理。查看以下结果:

import cv2
import matplotlib.pyplot as plt
import numpy as np

img = cv2.imread("img.jpg")

hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_grey = np.array([0, 5, 50]) #Lower threshold for grey.
upper_grey = np.array([360, 50, 255]) #Higher threshold for grey.
mask = cv2.inRange(hsv, lower_grey, upper_grey)
img_res = cv2.bitwise_and(img, img, mask = mask)
img_res = cv2.GaussianBlur(img_res,(7,7),0)

edges = cv2.Canny(img_res, 100, 200)

plt.subplot(121), plt.imshow(img_res, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(edges, cmap='gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
plt.show()

**enter image description here**

原文:

首先,您可以将颜色空间转换为 HSV,然后在其上使用高斯模糊。 enter image description here .这是我使用的代码:

import cv2
import matplotlib.pyplot as plt

img = cv2.imread("img.jpg")

gray = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
gray = cv2.GaussianBlur(gray[:,:,1],(7,7),0)
edges = cv2.Canny(gray, 20, 60)

plt.subplot(121), plt.imshow(gray, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(edges, cmap='gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
plt.show()

关于python - 磁条(黑色矩形)检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56717916/

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