opencv学习笔记——中文论坛上相关知识汇总

本文根据他人网络日志转载而来。


不同位深的图像之间用函数 cvConvertScale 转换;

http://www.opencv.org.cn/forum/viewtopic.php?t=2286

http://www.opencv.org.cn/forum/viewtopic.php?t=2263

opencv中的混合高斯模型算法根据《An Improved Adaptive Background Mixture Model for Realtime Tracking with Shadow Detection》文档中的算法编写,这个文档的算法中还有阴影检测的算法,但是opencv中有icvUpdateGaussianBGModel算法,不知是否有阴影检测的算法,文章可以在中国图像图形学网站上找到;

http://www.opencv.org.cn/forum/viewtopic.php?t=1688

以下代码主要是对一幅灰度图像rice.jpg进行一些处理,消除rice.jpg图像中的亮度不一致的背景,并使用阈值分割将修改后的图像转换为二值图像,使用轮廓检测返回图像中目标对象的个数以及统计属性。 

http://www.opencv.org.cn/forum/viewtopic.php?t=1316

Malic -- Malib with csuFaceIdEval (and OpenCV)【人脸识别的程序】

http://malic.sourceforge.net/

不错的计算机视觉网站 http://www.visionopen.com/

IplImage类型图像像素数据的格式与对应的变量类型http://www.opencv.org.cn/forum/viewtopic.php?t=547

深之JohnChen的专栏 OTSU方法计算图像二值化的自适应阈值;

http://blog.csdn.net/byxdaz/archive/2006/02/06/593039.aspx

对于高光补偿,建议看微软directx 10 新技术(或者是微软新技术展览里)里的高光恢复图像的相关内容;

实现DIB到IplImage的转换,使用 void cvSetData( CvArr* arr, void* data, int step );

http://www.opencv.org.cn/forum/viewtopic.php?t=721

计算出相机内参数,直接调用cvUndistort2进行图像校正;

http://www.opencv.org.cn/forum/viewtopic.php?t=754

使用IPP库提升OpenCV性能的教程:

1.OpenCV确实是在运行时自动加载这些优化库, 不需要运行cvUseOptimized()函数, 前提是库的相关路径注册了环境变量(之前我没注册, 所以没有加载成功). 
可运行如下程序进行检验: 
const char* opencv_libraries = 0; 
const char* addon_modules = 0; 
cvGetModuleInfo( 0, &opencv_libraries,&addon_modules ); 
printf( "OpenCV: %s\r\nAdd-on Modules: %s\r\n.", opencv_libraries, addon_modules); 
如果自动加载成功会输出: 
OpenCV: cxcore: 1.0.0, cv: 1.0.0 
Add-on Modules: ippcv-5.1.dll, ippi-5.1.dll, ipps-5.1.dll, ippvm-5.1.dll, ippcc-5.1.dll, mkl_p4.dll 
此时再运行cvUseOptimized(1), 通过查看返回值, 可以知道有多少个函数被优化。 

2.不同函数优化的程度不一。 
用几个函数测试了一下加载优化库后的优化程度: 
系统: P4(2.6G) 512MB XP VC6 
测试图像: 768×576 8UC1 
循环100次 
测试函数 cvSmooth(CV_GAUSSIAN,31*31) 2493ms(with IPP) 5498ms(without IPP) 
测试函数 cvSobel(7*7) 1674ms(with IPP) 1672ms(without IPP) 
测试函数 cvCanny(3*3) 2901ms(with IPP) 3385ms(without IPP) 
可以看出不同函数优化的程度不一样, cvSmooth优化程度很高, 性能提升50%多, cvSobel基本没有变化, 网上有的老外还说用了IPP之后速度下降了. 
所以究竟用不用IPP(199美元呢), 还得各位测试一下自己的程序, 好在现在还有Evaluation版的IPP可以用。要是OpenCV下个版本能提供一份儿各个函数优化表就好了.

http://www.opencv.org.cn/forum/viewtopic.php?t=782

关于HSV色彩空间的讨论;

http://www.opencv.org.cn/forum/viewtopic.php?t=640

DIB指针转换为IplImage指针;

IplImage* SnapImage = cvCreateImageHeader( cvSize IMAGE_WIDTH, IMAGE_HEIGHT) 
, IPL_DEPTH_8U, IMAGE_CHANNEL ); 
SnapImage->origin = 1; 
IplImage* 
char* data= new char [IMAGE_HEIGHT*IMAGE_WIDTH*IMAGE_CHANNEL]; 
SnapImage->imageData = data; 
memcpy(SnapImage->imageData,pImageBuffer,IMAGE_HEIGHT*IMAGE_WIDTH*IMAGE_CHANNEL); 

delete []data;

http://www.opencv.org.cn/forum/viewtopic.php?t=2110


你可能感兴趣的:(优化,算法,image,测试,文档,人脸识别)