2024-10-03 11:23:17 发布
网友
Testing image of voltmeter
所以我对这一领域相当陌生,一直在涉猎图像。由于缺乏更好的词汇,我的成绩一直不稳定。我基本上是在上面图像的变化中检测电压表,并提取白色区域或尽可能接近白色区域
问题是,它适用于图像的某些变体,但不适用于其他变体。因此,我的问题是:
我试过:
我有点执着于实现一种“稳健”或某种“广义”的方法来检测上述图像变化中的上述区域
谢谢你的反馈
代码如下:
import cv2 from matplotlib import pyplot as plt im = cv2.imread("volt.jpg") imgray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(imgray, 150, 200, 0) #imedge = cv2.Canny(imgray, 30, 200) contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) plt.imshow(thresh) voltcnt = 0 x = 0 for i in range(0, len(contours)): if cv2.contourArea(contours[i]) > 50000 and cv2.contourArea(contours[i]) < 100000: voltcnt = cv2.contourArea(contours[i]) x = i cv2.drawContours(im, contours[x], -1, (255, 0, 0), 3) plt.imshow(im)
以下是输出:
您还可以尝试使用“cv2.SimpleBlobDetector()
代码如下:
以下是输出:
您还可以尝试使用“cv2.SimpleBlobDetector()
相关问题 更多 >
编程相关推荐