如何使用
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 );