因此,与windows、python2.7和simplecv一起工作,我正在用我的网络摄像头制作一个实时视频,并希望simplecv给我一个灰度版本的视频。有什么简单的方法可以达到这个目的吗? 我找到命令了
grayscale()
在opencv页面上,它应该能做到这一点,但是当我运行它时,我得到了一个错误:
^{pr2}$我目前正在使用这个预先编写的代码来跟踪对象,但我不知道是否应该使用我找到的命令,以及我应该把它放在代码的什么地方,有人有什么想法吗?公司名称:
print __doc__
import SimpleCV
display = SimpleCV.Display()
cam = SimpleCV.Camera()
normaldisplay = True
while display.isNotDone():
if display.mouseRight:
normaldisplay = not(normaldisplay)
print "Display Mode:", "Normal" if normaldisplay else "Segmented"
img = cam.getImage().flipHorizontal()
dist = img.colorDistance(SimpleCV.Color.BLACK).dilate(2)
segmented = dist.stretch(200,255)
blobs = segmented.findBlobs()
if blobs:
circles = blobs.filter([b.isCircle(0.2) for b in blobs])
if circles:
img.drawCircle((circles[-1].x, circles[-1].y), circles[-1].radius(),SimpleCV.Color.BLUE,3)
if normaldisplay:
img.show()
else:
segmented.show()
在SimpleCV中有多种方法可以做到这一点。 已经描述了一种方法,即toGray()方法。 还有一种方法可以使用高斯模糊(gaussian blur)来实现,这也有助于消除图像噪声:
在第三行之后,img对象包含高频噪声较少的图像,并转换成灰度。在
你可以退房pyimagesearch.com网站但他解释了为什么应用高斯模糊是个好主意。在
例如,在简单的cv中有一个名为toGray()的函数 这可能行得通,也可能行不通。所以请不要投我一票我没有任何代表
相关问题 更多 >
编程相关推荐