加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在OpenCV java中声明Mat

发布时间:2020-12-14 23:55:04 所属栏目:Java 来源:网络整理
导读:如何使用 Java OpenCV创建和分配Mat?从 this page开始的C版本是 Mat C = (Mat_double(3,3) 0,-1,5,0); Java OpenCV中的等价物是什么?似乎缺乏Java OpenCV的文档.存在的内容通常包含在Java中不起作用的C代码. 解决方法 是.文档很少或不存在.相当于 Mat img
如何使用 Java OpenCV创建和分配Mat?从 this page开始的C版本是
Mat C = (Mat_<double>(3,3) << 0,-1,5,0);

Java OpenCV中的等价物是什么?似乎缺乏Java OpenCV的文档.存在的内容通常包含在Java中不起作用的C代码.

解决方法

是.文档很少或不存在.相当于
Mat img = new Mat( 3,3,CvType.CV_64FC1 );
int row = 0,col = 0;
img.put(row,col,0 );

在matclass的opencv java doc(1)中,请参阅重载的put方法

public int put(int row,int col,double... data )
public int put(int row,float[] data )
public int put(int row,int[] data )
public int put(int row,short[] data )
public int put(int row,byte[] data )

我们可以看到,对于除double之外的数据类型,最后一个参数是数组而不是可变参数类型.因此,如果选择创建不同类型的Mat,我们将需要使用如下的数组

int row = 0,col = 0;
int data[] = {  0,0 };
//allocate Mat before calling put
Mat img = new Mat( 3,CvType.CV_32S );
img.put( row,data );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读