Mat类中的rowRange和colRange的用法
来源:互联网 发布:透视数据复制出来 编辑:程序博客网 时间:2024/04/29 20:34
最近一直在看一个算法,其中有用到opencv MAt类的rowRange函数,因为对opencv函数还不熟悉,于是测试了一下。
测试代码如下:
#include<stdio.h>
#include<opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
//初始化一个3*3的矩阵
Mat examples=(Mat_<float>(3,3)<<1,0,0,0,1,0,0,0,1);
//取example中中特定范围的行列构成矩阵
Mat temp_row1=examples.rowRange(Range(1,2)); //取特定行
Mat temp_row2=examples.rowRange(1,2);
Mat temp_col=examples.colRange(1,3); //取特定列
//n,p,m,q计数,用于控制矩阵元素的输出格式
int n=0;
int p=0;
int m=0;
int q=0;
//输出初始矩阵的元素
cout<<"examples:"<<endl;
for (int i=0;i<examples.rows;i++){
for(int j=0;j<examples.cols;j++)
{
cout<<examples.at<float>(i,j) ;
p++;
if(p%3==0)cout<<endl;
}
}
cout<<endl;
//测试rowRange(Range(int x,int y))
cout<<"temp_row1:"<<endl;
for (int i=0;i<temp_row1.rows;i++)
{
for(int j=0;j<temp_row1.cols;j++){
cout<<temp_row1.at<float>(i,j);
n++;
if(n%3==0)
cout<<endl;
}
}
cout<<endl;
//测试rowRange(int x,int y)函数
cout<<"temp_row2:"<<endl;
for(int i=0;i<temp_row2.rows;i++)
{
for(int j=0;j<temp_row2.cols;j++){
cout<<temp_row2.at<float>(i,j);
m++;
if(m%3==0)
cout<<endl;
}
}
cout<<endl;
//测试colRange(int x,int y)函数
cout<<"temp_col:"<<endl;
for (int i=0;i<temp_col.rows;i++)
{
for(int j=0;j<temp_col.cols;j++){
cout<<temp_col.at<float>(i,j);
q++;
if(q%2==0)
cout<<endl;
}
}
return 0;
}
测试结果
通过测试结果可以看出,Mat.rowRange(int x,int y)和Mat.rowRange(range(int x,int y)得到的结果一样,函数取的实际行数y-x,只取到范围的右边界,而不取左边界,Mat.colRange(int x,int y)有类似的用法。
- Mat类中的rowRange和colRange的用法
- Mat类中的rowRange和colRange的用法
- Mat类中的rowRange和colRange的用法
- Mat类中的rowRange和colRange 提取某些行或列
- 关于学习Mat类中rowRange和colRange的初步认识
- Mat rowRange、colRange
- OpenCV学习--Mat::rowRange函数
- Mat类的一些用法
- OpenCV Mat类详解和用法
- opencv Mat类用法
- OpenCV的Mat基本用法
- opencv cv::Mat的用法
- OpenCv cv::Mat类用法
- 【opencv3】 Mat类用法总结
- openCV中的MAT的详解
- 对OpenCV中的Mat类的初步认识
- 浅谈opencv中的Mat在处理图像数据中的用法
- libsvm-mat-2.89-3 的用法
- ios开发笔记 – 1 – 类的声明
- GDAL使用DEM数据计算地形指数
- Makefile工程管理
- 一道360面试题引发的思考
- css之自动换行
- Mat类中的rowRange和colRange的用法
- VIM中常用序列生成及数值转换
- 螺旋式成功法则
- SVG(Scalable Vector Graphics)
- 同步建模和顺序建模
- MyISAM InnoDB 区别
- ios开发笔记– 2 – 类之间互相调用
- 读书怎么才能更快
- LeetCode Binary Tree Zigzag Level Order Traversal