level 1
大学狗一枚, 有幸接触到opencv , 有大神稍微略停留下脚步, 解释下问题吗?
原理是用摄像头下摆放一个激光灯,然后捕捉图像, 遍历出红色点。 问题是如何计算出红色点与摄像头中心的像素?
2016年02月22日 09点02分
1
level 3
我做过类似的。我的方法是先拍一张包括激光点的图,截取激光点的图像做直方图模板,然后遍历图像找概率最大的位置就可以了。
2016年02月22日 15点02分
4
阈值怎么设定啊? 不是阈值有很多种方法吗?
2016年02月23日 13点02分
level 3
我用的是蓝色激光,不过后来发现就像楼上说的,直接设置阈值找最亮的点就可以确定位置了。。
2016年02月22日 15点02分
5
你好,哥们,能留个联系方式吗? 交流交流
2016年02月23日 12点02分
level 1
本人opencv零基础,python零基础, 自学opencv+python两周,我来解答这个问题,首先从摄像头提取彩色帧图片, BGR分色, 把红色提取出来,设定阈值, 阈值后做边缘,边缘后找轮廓, 轮廓后计算面积,也就是像素量。
我这里以灰度为例, 手写一段代码给你(opencv3.2+python 2.7.13)
手写的,不保证能跑, 只是提供个思路
import cv2
import numpy as np
cap=cv2.VideoCapture(0)
while(True):
ret,frame=cap.read()
gray=cv2.cvtColor(frame,6)
ret,thresh=cv2.threshold(gray,127,255,cv2.THRESH_BINARY)
canny=cv2.Canny(thresh,(5,5))
img,contours,cengci=cv2.findContours(canny,0,2)
for cnt in contours:
area=cv2.contoursArea(cnt)
print area
祝顺利,自己要用功, 多查资料, 多看书
2017年03月23日 14点03分
9
不错,学习Python仅2周就提出方法
2018年03月19日 15点03分