OpenCV之 实例化Mat对象

49 篇文章 0 订阅
17 篇文章 0 订阅

Mat对象:
OpenCV库的Mat类用于存储图像的值,其代表一个n维数组,用于存储灰度或彩色图像,等图像数据。

常见的Mat对象构造方法如下:

方法作用
Mat()空的构造器
Mat(int rows, int cols, int type)指定的行数与列数与通道类型
Mat(int rows, int cols, int type, Scalar s)指定的行数与列数与通道类型,与Scalar类的一个对象作为参数
Mat(Size size, int type)指定大小与通道种类
Mat(Size size, int type, Scalar s)指定大小与通道种类,与Scalar类的一个对象作为参数
Mat(long addr)长地址类型参数
Mat(Mat m, Range rowRange)从一个已知的Mat对象加载指定范围
Mat(Mat m, Range rowRange, Range colRange)从一个已知的Mat对象加载指定范围并包括列范围
Mat(Mat m, Rect roi)从一个已知的Mat对象加载特定范围

Mat对象也提供了常见的方法进行访问或设置,如下:

方法作用
col(int x)返回指定行数的Mat对象
row(int y)返回指定列数的Mat对象
cols()返回Mat对象的行数
rows()返回Mat对象的列数
setTo(Mat value)设置指定Mat对象的mat值
setTo(Scalar s)设置指定Mat对象的标量值

载入:

        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        Mat matrix = new Mat(10, 10, CvType.CV_8UC1, new Scalar(0));
        Mat row0 = matrix.row(0);
        row0.setTo(new Scalar(1));
        Mat col3 = matrix.col(5);
        col3.setTo(new Scalar(16));

        System.out.println("OpenCV Mat data:\n" + matrix.dump());

运行:

OpenCV Mat data:
[  1,   1,   1,   1,   1,  16,   1,   1,   1,   1;
   0,   0,   0,   0,   0,  16,   0,   0,   0,   0;
   0,   0,   0,   0,   0,  16,   0,   0,   0,   0;
   0,   0,   0,   0,   0,  16,   0,   0,   0,   0;
   0,   0,   0,   0,   0,  16,   0,   0,   0,   0;
   0,   0,   0,   0,   0,  16,   0,   0,   0,   0;
   0,   0,   0,   0,   0,  16,   0,   0,   0,   0;
   0,   0,   0,   0,   0,  16,   0,   0,   0,   0;
   0,   0,   0,   0,   0,  16,   0,   0,   0,   0;
   0,   0,   0,   0,   0,  16,   0,   0,   0,   0]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值