opencv的Mat初始化

Mat结构作为最常见图像处理类,是必然要熟悉使用的

一般是 Mat src 但是,仅仅这样做是不够的,可能还需要用到下面的一些操作

  1. Mat src(3,5,CV_32FC1, 1)或者Mat src(3, 5, CV_32FC1, Scalar(1))。初始化一个三行五列的矩阵。并且初始化其值为一
  2. Mat m(3, 5, CV_32FC2, Scalar(1, 2)); 与上一个的区别在于图像格式不同 CV_32FC2 他是两个通道,所以赋值是给两个值。对于三通道自然就不必再说了。
  3. Rect rect1(0, 0, int(src.cols / 6), int(src.rows / 2));
    Mat src1 = src_gray(rect1);

    src1 截取src_gray 的一部分初始化自己。 事实上,src1是对src_gray的那部分的引用。对应的操作会转移到原图身上。需要知道这一点。如果要进行指定区域的复制 则应该Mat src1 = src_gray(rect1).clone();

你可能感兴趣的:(c++,opencv3-0)