2017-04-10 121 views
-2

是否有一个python库或API可以使用相机检测已知位置的LED灯?灯将是不同的颜色。用于检测LED闪光灯的Python库

我有兴趣为PCB进行自动化生产测试。我的电路板有许多LED,当某些功能正常工作时,测试命令使电路板开启LED。人们可能会错过众多灯光中的一个。我指定python是因为它是我熟悉的唯一高级语言。我的大部分嵌入式工作都是用C语言编写的,C语言在较高层次上工作起来很棘手。

回答

0

OpenCV是一个可能的选择,如果需要,可以让您在稍后使用其他语言。

0

这很有可能解决这个问题。正如@John Percival Hackworth所说,opencv是解决这个问题的好选择。我可以给你一些关于如何去做的指导。

  • 用LED指示灯拍照,因为您知道LED的颜色,可以使用这些知识来过滤颜色。我已经给出了一个代码片段。
  • 过滤颜色后,您可以使用houghcircles/blob来定位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_redupper_red更改为不同的值,具体取决于您要过滤的颜色。

祝你好运:)