#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat a, c;
a = imread("F:\\数据集\\数字图像处理标准测试图\\LenaRGB.bmp",CV_LOAD_IMAGE_COLOR);
Mat b(a);//拷贝构造函数 拷贝a的矩阵头和矩阵指针
c = a;
cout<<(a.size());
//以上代码中的所有Mat对象最终都指向同一个也是唯一一个数据矩阵。
//虽然它们的信息头不同,但通过任何一个对象所做的改变也会影响其它对象。
//实际上,不同的对象只是访问相同数据的不同途径而已。
//这里还要提及一个比较棒的功能:你可以创建只引用部分数据的信息头。
//比如想要创建一个感兴趣区域( ROI ),你只需要创建包含边界信息的信息头:
Mat D(a, Rect(10, 10, 300, 100));//Rect(左上角x,左上角y,宽,高)
//Mat e (a,Range:all(), Range(1,3)); 有问题
//Range()函数
imshow("a:", a);
imshow("d:", D);
//拷贝矩阵本身-----START
Mat F = a.clone();
Mat G;
a.copyTo(G);
//拷贝矩阵本身-----END
waitKey(0);
return 0;
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。