很有可能解决这个问题。正如@John Percival Hackworth所说,opencv是解决这个问题的一个好选择。我可以给你一些建议。在拍一张带发光二极管的电路板的照片,因为你知道发光二极管的颜色,利用这些知识过滤颜色。我给出了一个代码片段。在
过滤颜色后,可以使用houghcircles/Blob来定位LED
出现斑点意味着LED亮起。然后你可以根据这些知识做出决定。在
Opencv有python绑定,所以您可以用python编程。在
执行颜色过滤的代码段。在import cv2 as cv2
import numpy as np
fn = 'image_or_videoframe'
# OpenCV reads image with BGR format
img = cv2.imread(fn)
# Convert to HSV format
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# Choose the values based on the color on the point/mark
lower_red = np.array([0, 50, 50])
upper_red = np.array([10, 255, 255])
mask = cv2.inRange(img_hsv, lower_red, upper_red)
# Bitwise-AND mask and original image
masked_red = cv2.bitwise_and(img, img, mask=mask)
在这种情况下,红色在图像中被过滤,masked_red将只包含图像中的红色像素。根据要过滤的颜色,可以将lower_red和upper_red更改为不同的值。在
祝你好运:)