美文网首页Android
Android opencv mat 相关操作

Android opencv mat 相关操作

作者: 流浪dee猫 | 来源:发表于2019-05-29 10:40 被阅读0次

如上图,先创建一个5x5的无符号三通道矩阵(CvType.CV_8UC3),设置每个通道的值为12,25,110,Scalar是长度为4的double数组,其中第四个恒为0。

我们有时候需要将数据存入byte数组中,三通道的时候,需要声明一个数组大小为mat.rows()*mat.cols()*3,才能将mat的数据装下,通过mat.get(0,0,data),将数据存入data,通过mat.get可以获得每个点的值。打印数据如下:

data的值是mat每个点的三通道值,get获取一个点的多通道值double数组,如果不设置则默认为0。

同样,如果初始化mat为CvType.CV_8UC1,无符号单通道,则data的数组大小初始化为mat.rows()*mat.cols()即可。同时获取一个顶点的多通道double数组大小也为1,只有一个通道。

Mark:和c,c++不一样,Java版本的openCV实现mat和byte的转换主要通过get 和 put:

mat.get(0,0,data),可将mat的所有数据存入data,注意的是mat的通道,如果是多通道比如,3,4,则data的大小初始化为mat的rows()*cols()*N N为通道数;

mat.get(x,y)可以获取矩阵的某个点,返回的是double[],存着该点的多通道数据,默认为0;

mat.put(1,1,18,20,22);  //前两个代表mat的rows和cols,后面是double... 如果是多通道,需要传入相同的个数,代表的是通道的值;

mat.put(0,0,data)可将data全部赋值到mat,同样要注意data的大小和mat的通道数。

以上是个人理解,如有错误,恳请指正!

相关文章

  • Android opencv mat 相关操作

    如上图,先创建一个5x5的无符号三通道矩阵(CvType.CV_8UC3),设置每个通道的值为12,25,110,...

  • Opencv中数据结构Mat的相关属性

    搬运自本人 CSDN 博客:《Opencv中数据结构Mat的相关属性》 Opencv中数据结构Mat的相关属性 前...

  • Mat基本操作

    矩阵基本操作 opencv最基本的结构体是Mat,opencv提供了一系列Mat基本操作加载图片cv::imgre...

  • Android opencv

    Refer to android test with OpenCV. Load Mat image from R ...

  • OpenCV之Mat对象

    好好学习,天天向上 android学习OpenCV首先接触的就是Mat对象,这节主要介绍Mat对象Mat是Open...

  • Android Camera2 Image转Mat

    Android Camera2获取的图片为android.media.Image,opencv使用时需要转成Mat...

  • OpenCV实现Mat与vector,Mat与数组互转

    OpenCV实现Mat与vector互转opencv Mat与Vector、Mat与数组、Vector与数组之间互...

  • OpenCV - FileStorage

    Opencv-FileStorage类的数据存取操作与示例 Write cv::Mat Image To File...

  • OpenCV for Android (3)——Mat

    1. Mat - 基本图像容器 从真实世界中获取数字图像有很多方法,比如数码相机、扫描仪、CT或者磁共振成像。无论...

  • OpenCV 中的 Mat

    OpenCV 中的 Mat Mat 是 OpenCV 中用来存储图像信息的内存对象。例如,可以通过 imread(...

网友评论

    本文标题:Android opencv mat 相关操作

    本文链接:https://www.haomeiwen.com/subject/ecsqyftx.html