opencv3与tensorflow的关系,各有啥有优缺点

OpenCV是计算机视觉库,Tensorflow是深度学习框架。
OpenCV包含了大量的图像处理和计算机视觉的算法,但是在机器学习方面明显不足,ML模块只有SVM,MLP,kNN等有限的几种算法。dnn模块也是调用别的框架。
Tensorflow是专为深度学习而生,可以方便的实现各种深度学习算法。
【opencv3与tensorflow的关系,各有啥有优缺点】 二者不属于同一领域,做视觉用OpenCV,做深度学习用Tensorflow。或者二者结合做图像识别等等。

■网友
opencv3完全没碰过,tensorflow粗略碰过,但是既然被邀请了,就自己想象一下,以作为高手正确答案的对照。opencv3显然专门做图像识别什么的,感觉应该是个专家系统,根据人的知识设定一些规则,利用统计学规则在图像里寻找特征,然后将这些特征放到已经设定的规则里面,就像建筑工地上的工人按照工程师的指挥砌墙一样。tensorflow是现在流行的深度学习工具,深度学习的意思是,把猫的图片和猫这个名字放在一起,让电脑找到两者之间的关系,这种关系不是用自然语言来形容的,也不是用通常的数学语言表示,而是用矩阵形容,关于矩阵是不是可以描述任何关系,是如何形容这些关系的建议去学学线代什么,我也没学好但我选择相信,并且认为矩阵这种语言人类是搞不懂的,能发明也利用就可以了。tensorflow就是用来寻找某种特定关系的一种工具,而且是比较成熟可以直接投入工业利用的狗工具,尤其在寻找图像特征和自然语言特征方面,寻找的准确性意见接近人类了。有什么缺陷?首选是由于人类对矩阵的无法理解导致其运作过程和结果都是看不到的黑盒子,有点做菜和开中药的感觉,估计这种状况永远改变不了,因为人类无法理解矩阵正是矩阵厉害的地方。其实最大的缺点是先要把猫的图片和猫的名字放一起的事情,这个事情目前似乎没找到好办法让电脑自己做,幸好图像方面人可以自己做。
■网友
作为一个基于开源发行的跨平台计算机视觉库,OpenCV实现了图像处理和计算机视觉方面的很多通用算法。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。一个是计算机视觉的库,一个是通用的深度学习框架。


    推荐阅读