ubuntu16.04 install opencv2.4 to python2 and c++html
四大主流库比较:python
对OpenCV的印象:功能十分的强大,并且支持目前先进的图像处理技术,体系十分完善,操做手册很详细,手册首先给你们补计算机视觉的知识,几乎涵盖了近10年内的主流算法;而后将图像格式和矩阵运算,而后将各个算法的实现函数。我用它来作了一个Harris角点检测器和Canny边缘检测器,总共就花了一个小时(第一次用OpenCV)。并且该库显示图像极其方便,两句话就能够。但该库彷佛不大稳定,对32F和16S、8U的图像数据支持上bug重重。我用cvFilter2D函数进行线性滤波,屡屡出错,后来一查原来是大bug。后来用cvmGet来取矩阵元素也是频繁出错,仔细检查了N遍确保程序没问题以后在yahoogroup上找到答案:仍然是bug。。。但好歹该库是开放的,因此本身能够修改;并且支持CVS。另外该库用的是IPL矩阵库,速度奇快~~c++
对CxImage考察的印象:该开发包彻底开放源代码,图像封装为一个类,功能极为强大,与Windows、MFC支持极好,支持图像的多种操做(线性滤波、中值滤波、直方图操做、旋转缩放、区域选取、阈值处理、膨胀腐蚀、alpha混合等等),支持从文件、内存或者win32api定义的位图图像格式中读取图像,支持将图像显示在任意窗口,功能可谓很强大了,并且对像素的操做很方便,另外还有一个界面很强的demo,能够直接在上面进行二次开发,推荐使用!
缺点:里面的子库不少,用起来可能较麻烦;并且感受速度稍慢,不如后面提到的freeimage
但功能真的十分强大啊!git
CImg:就一个.h文件因此用起来很简明,但感受功能上不如CxImage。能够与CxImage配合使用,由于CImg提供了基于lapack的矩阵运算函数和完善的线性滤波卷积函数,同时CImg作像素运算仍是很方便的。另外,独有Display类能够方便的实现各类显示,包括显示图像、打字、画线等等。还有,该库有个基于光流的多尺度图像配准例子,很好github
FreeImage:C语言的体系,大量使用指针运算速度能够保证,内含先进的多种插值算法。另外独有的支持meta exif信息的读取。该库最大的特色就是比较简练,只把重点放在对各类格式图像的读取写入支持上,没有显示部分,实际编程的时候仍是须要调用API函数进行显示算法
install:编程
wrong:ubuntu
https://gist.github.com/sedovolosiy/6711123a9e5a73a6ce519e80338d0067api
right:tcp
https://blog.csdn.net/Aacho_hu/article/details/80007956
testcpp:
https://my.oschina.net/gujianhan/blog/205200
test cmake:
CMakeLists.txt
cmake_minimum_required(VERSION 3.5) project(TestOpenCv) find_package(OpenCV) include_directories(${OpenCV_INCLUDE_DIRS}) set(CMAKE_CXX_STANDARD 11) add_executable(TestOpenCv test.cpp) target_link_libraries(TestOpenCv ${OpenCV_LIBS})
like this:
first copy two libs to python's dist-packages and site-packages:
cp opencv_dir/build/lib/cv2.so ENV/lib/python2.7/dist-packages/ cp opencv_dir/modules/python/src2/cv.py ENV/lib/python2.7/dist-packages/
https://www.ctolib.com/topics-106448.html
difference between dist and site packages:
https://www.cnblogs.com/kevin922/p/3161411.html