OpenCV计算机视觉学习(一)
本科的毕业设计就是使用OpenCV完成的,研究生对这方面有点兴趣,然后又开始深入学习,由于之前有一点基础,买了本《OpenCV3 编程入门》来看,觉得里面讲的十分片面,大概翻了一遍,就把它当做工具书来看了。由于做图像处理和数据处理使用Python比较方便,因此又买了本《Opencv3计算机视觉》Python版来看,看了前3章,大概来总结下。
这本书是以项目的方式讲解,通过完成一个小的项目来学习OpenCV,前3章的项目功能的类图如下所示:
CaptureManager为提取视频流的类,主要完成视频读取和写入。
WindowManager是把对窗口的操作分装起来,符合面向对象的思想。
VConcolutionFilter为抽象的父类,主要完成各种的滤波操作。
OpenCV和Python知识总结:
1.使用numpy.array函数来装换数组比使用普通的Python数组转换要快的多。如:
img[0,0] = [255, 255, 255]
img.itemset((150, 120, 0), 255) #将(150,120)通道0设置像素为255
2.OpenCV不能返回摄像头的准确帧速率。一般使用计时器来测量。如:
timeElapsed = time.time() - self.startTime
self._fpsEstimate = self._framesElapsed / timeElapsed
4.几种滤波就不在这说了,等下次编码实现,在详细分析。