OpenCV是Intel开发的非常好的图形处理工具箱,帮助文档和例子都特别到位,上手很快,在windows下可以直接下载已经编译好的版本,然后拷贝到一个目录下即可。
Opencv tutrial.pdf是一个非常好的学习文档,讲的都很切重点,并且有很多例子,最方便的地方是这些例子在下载的程序里的samples目录下都可以找到,所以练习起来特别快。
如果是用C++编程,直接设置好include 和lib的路径即可。
但是如果在ubuntu下编译,则可能碰到问题
本人在编译的过程中碰到了这样的问题:
../../../3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a(jmp_ippiResizeGetBufferSize_16s_as.s.o): relocation R_386_GOTOFF against undefined symbol
`ippicvJumpIndexForMergedLibs' can not be used when making a shared object /usr/bin/ld: final link failed: Bad value
这是因为编译的时候默认是需要intel的另外一个库IPP的支持,取消这个支持就可以了
在cmake的时候加上cmake -D WITH_IPP=OFF
还碰到了一个问题:unable to locate tools.jar
这个问题的解决办法是:
运行命令$ sudo update-alternatives --config java
选择一个java目录
其原因是java的默认jre选择错误,上面的操作也是用来更改默认jre,默认的jre就是那个带*的,不选它就可以了。
Opencv的使用
opencv可以在C++环境下,也可以在Python下使用
在python下使用的时候用imshow()的时候出不来图
碰到这种情况,可以用pylab来画图
import cv2
import pylab as pl
img=cv2.imread('test.jpg')
pl.imshow(img)
pl.show()