opencv2.4.9中normalize的使用
2015-11-27 21:26
525 查看
函数原型
源码中给出的原型,所在文件:modules/core/include/opencv2/core/core.hpp.函数的定义所在文件:modules/core/src/convert.cpp.
使用方法
方法1:cv::Mat img = cv::imread("D:/test.png",0); cv::Mat_<float> dest(img.rows,img.cols); cv::normalize(img, dest,1,cv::NORM_L2); cout << dest << endl;
方法2:
cv::Mat img = cv::imread("D:/test.png",1); cv::Mat_<cv::Vec3f> dest(img.rows,img.cols); cv::normalize(img, dest,1,cv::NORM_L2); cout << dest << endl;
方法3:
cv::Mat img = cv::imread("D:/test.png",1); cv::Mat mask(img.rows,img.cols,CV_8U,cv::Scalar(1)); cv::Mat_<cv::Vec3f> dest(img.rows,img.cols); cv::normalize(img, dest,1,0,cv::NORM_L2,-1,mask); cout << dest << endl;
norm_type可取的值为:
这里写代码片
CV_MINMAX:———-会执行一下语句:
minMaxLoc( _src, &smin, &smax, 0, 0, mask );//得到矩阵中元素的最小值和最大值 scale = (dmax - dmin)*(smax - smin > DBL_EPSILON ? 1./(smax - smin) : 0); shift = dmin - smin*scale; //。。。中间代码省略了 if( !mask.data ) src.convertTo( dst, rtype, scale, shift ); else { Mat temp; src.convertTo( temp, rtype, scale, shift ); temp.copyTo( dst, mask ); }//图像缩放平移
CV_L2或CV_L1或CV_C——– 会执行一下代码:
scale = norm( src, norm_type, mask ); scale = scale > DBL_EPSILON ? a/scale : 0.; shift = 0;
不会进行平移操作。
(转载请注明作者和出处:http://blog.csdn.net/CHIERYU 未经允许请勿用于商业用途)
相关文章推荐
- python中使用OpenCV进行人脸检测的例子
- opencv 做人脸识别 opencv 人脸匹配分析
- 使用opencv拉伸图像扩大分辨率示例
- OpenCV 2.4.3 C++ 平滑处理分析
- 利用Python和OpenCV库将URL转换为OpenCV格式的方法
- python结合opencv实现人脸检测与跟踪
- 在树莓派2或树莓派B+上安装Python和OpenCV的教程
- opencv-python学习一--人脸检测
- 在Ubuntu上安装OpenCV3.0和Python-openCV的经历
- OpenCV配置,从来没有这么简单!
- ubuntu下opencv和qt的安装配置
- OpenCV学习笔记(二十五)——OpenCV图形界面设计Qt+VS2008
- 分享一些OpenCV实现立体视觉的经验
- 关于OpenCv图像变换与基本图形检测
- "应用程序正常初始化失败"-0xc0150002 解决办法
- OpenCV->HSV色彩空间
- opencv 内存泄露
- OpenCV函数cvFindContours
- OpenCV 2.3.1图像文件的读入和显示
- opencv2 矩阵方式 resize图像缩放代码