이 문제를 해결하는 것이 가능합니다. @ John Percival Hackworth가 말했듯이, opencv는 이것을 해결하기위한 좋은 선택입니다. 나는 그것에 대해 갈 방법에 대한 조언을 해 줄 수 있습니다.
- LED의 색상을 알고 있으므로 색상을 필터링하기 위해 해당 지식을 사용하여 보드의 사진을 찍으십시오. 내가 어떤 코드 스 니펫을 제공했는지.
- 색상을 필터링 한 후, houghcircles/blob을 사용하여 LED를 찾을 수 있습니다.
- BLOB의 존재는 LED가 켜져 있음을 의미합니다. 그런 다음이 지식을 기반으로 의사 결정을 내릴 수 있습니다.
OpenCv에는 파이썬 바인딩이 있으므로 파이썬으로 이것을 프로그래밍 할 수 있습니다.
스 니핏은 컬러 필터링을 수행합니다. 이 경우
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
을 필터링 할 색에 따라 다른 값으로 변경할 수 있습니다.
행운을 빌어 요.