opencv 笔记
来源:互联网 发布:linux编程书籍推荐 编辑:程序博客网 时间:2024/05/30 07:12
OpenCV 中 minMaxLoc 用法
函数原型:
void minMaxLoc( const Mat& src, double* minVal, double* maxVal=0, Point* minLoc=0, Point* maxLoc=0, const Mat& mask=Mat() );
void minMaxLoc(const MatND& src, double* minVal, double* maxVal, int* minIdx=0, int* maxIdx=0, const MatND& mask=MatND() );
void minMaxLoc(const SparseMat& src, double* minVal, double* maxVal, int* minIdx=0, int* maxIdx=0);
说明:
1 minMaxLoc寻找矩阵(一维数组当作向量,用Mat定义) 中最小值和最大值的位置.
2 参数若不需要,则置为NULL或者0,即可.
3 minMaxLoc针对Mat和MatND的重载中 ,第5个参数是可选的(optional),不使用不传递即可.
代码:
结果:
10.9525 13.4054 17.6646 10.5643 1.22926 5.95938 11.14 4.83435
1.22926 17.6646
1.22926
17.6646
void minMaxLoc( const Mat& src, double* minVal, double* maxVal=0, Point* minLoc=0, Point* maxLoc=0, const Mat& mask=Mat() );
void minMaxLoc(const MatND& src, double* minVal, double* maxVal, int* minIdx=0, int* maxIdx=0, const MatND& mask=MatND() );
void minMaxLoc(const SparseMat& src, double* minVal, double* maxVal, int* minIdx=0, int* maxIdx=0);
说明:
1 minMaxLoc寻找矩阵(一维数组当作向量,用Mat定义) 中最小值和最大值的位置.
2 参数若不需要,则置为NULL或者0,即可.
3 minMaxLoc针对Mat和MatND的重载中 ,第5个参数是可选的(optional),不使用不传递即可.
代码:
Mat tmpCount(8, 1, CV_32FC1); float tmpCountMinVal = 0, tmpCountMaxVal = 0; Point minPoint, maxPoint; minMaxLoc(tmpCount, &tmpCountMinVal, &tmpCountMaxVal, &minPoint, &maxPoint); minMaxLoc(temp1, &minVal, NULL, &minCoor,NULL); // 不需要的数据,参数置为NULL cout<<minVal<<endl; minMaxLoc(temp1, 0, &maxVal, 0,& maxCoor); // 不需要的置为0 cout<<maxVal<<endl;
结果:
10.9525 13.4054 17.6646 10.5643 1.22926 5.95938 11.14 4.83435
1.22926 17.6646
1.22926
17.6646
---------------------------------计时函数------------------------------------------
double t = (double)getTickCount();
t = ((double)getTickCount() - t)/getTickFrequency();
cout << "Times passed in seconds: " << t << endl;
cout << "Times passed in seconds: " << t << endl;
///调用了API函数 通过得到计算机的计时频率计算相应的时间
///getTickFrequency()为计算机的计时频率
------------------------------------------------------------------------
------------------------------------缩放Resize---------------------
double scale=0.5; //设置缩放倍数string imageurl = "F:/opencv/samples/cpp/baboon.jpg";Mat image =imread(imageurl);A//缩放 Size dsize = Size(image.cols*scale,image.rows*scale);Mat image2 = Mat(dsize,CV_32S);resize(image, image2,dsize);
----------------------------------------------------------------
--------------选取矩阵中复合要求的元素--------------------
Mat test=(Mat_<unsigned char>(10,1)<<1,2,3,4,5,6,7,8,9,10);Mat b=(Mat_<unsigned char>(10,1)<<1,2,3,4,5,6,7,8,9,10);test=test>5;test=test/255;cout<<test<<endl;cout<<b<<endl;int t1=test.type();//类型t1,t2必须相同int t2=b.type();Mat c(test.mul(b));cout<<c<<endl;---------------------------------------------------------------------------
Mat 类型转换
Mat a = Mat_<unsigned short> (10, 3);//或Mat a = Mat_<unsigned char> (10, 3)
Mat_<float> b;
a.ConvertTo(b, CV_32F);
cout<<"a type"<<endl<<a.depth()<<endl<<"b type"<<endl<<b.depth()<<endl;
0 0
- OpenCV笔记
- openCV笔记
- OpenCV笔记
- OpenCV笔记
- opencv笔记
- Opencv笔记
- opencv 笔记
- opencv笔记
- opencv笔记
- opencv笔记
- OpenCV--笔记
- opencv笔记
- OpenCV笔记
- OpenCV笔记
- OpenCV笔记
- OpenCV学习笔记
- OpenCV 学习笔记
- 学习笔记-----opencv
- Python程序员必知必会的开发者工具
- 移动重合
- unicorn+nginx+centos 部署及服务器配置
- 程序员人生之路
- 基于Cassandra的日志和分布式小文件存储系统【1】
- opencv 笔记
- mstsc
- CMD 命令速查手册
- Effective C++读书笔记(9)
- cmd C:\Program' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- LilyPond的Sublime插件SubLilypond
- ganglia3.6安装
- CXX0017:Error:symbol "xxx" not found 问题解决方法
- Android ViewGroup系列控件的使用