您的位置:首页 > 运维架构

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

2011-11-07 22:30 561 查看
本文根据他人网络日志转载而来。

不同位深的图像之间用函数 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: