如何从 java 的 opencv 中的位创建垫子?
How to create a mat from bits in opencv for java?
有人可以解释如何使用位串中的值创建二进制矩阵吗?
例如,
我想从位串 11110000
和 01010101
创建我的 Mat,所以我有一个包含 2 行和 1 列的 mat 对象。
为此,我用 Mat mat = new Mat(2,1,CvType.CV_8UC1);
初始化垫对象
我可以将这些字符串转换为字节数组并使用 mat.put(0,0,bytearray)
还是我必须考虑其他事项?
稍后我想使用这种方法创建我自己的 binary descriptor
,它可以与其他描述符进行比较,由 ÒRB
提取。
随着 norm(descA,descB,NORM_HAMMING)
谢谢你和最好的问候
您可以使用 Byte.parseByte()
和 radix
为 2,例如 byte b = Byte.parseByte(str, 2);
首先将其转换为 byte
,然后创建一个字节数组,然后将其转换为 Mat
对象如下:
Mat mat = Imgcodecs.imdecode(new MatOfByte(byteArray), Imgcodecs.CV_LOAD_IMAGE_UNCHANGED);
有人可以解释如何使用位串中的值创建二进制矩阵吗?
例如,
我想从位串 11110000
和 01010101
创建我的 Mat,所以我有一个包含 2 行和 1 列的 mat 对象。
为此,我用 Mat mat = new Mat(2,1,CvType.CV_8UC1);
我可以将这些字符串转换为字节数组并使用 mat.put(0,0,bytearray)
还是我必须考虑其他事项?
稍后我想使用这种方法创建我自己的 binary descriptor
,它可以与其他描述符进行比较,由 ÒRB
提取。
随着 norm(descA,descB,NORM_HAMMING)
谢谢你和最好的问候
您可以使用 Byte.parseByte()
和 radix
为 2,例如 byte b = Byte.parseByte(str, 2);
首先将其转换为 byte
,然后创建一个字节数组,然后将其转换为 Mat
对象如下:
Mat mat = Imgcodecs.imdecode(new MatOfByte(byteArray), Imgcodecs.CV_LOAD_IMAGE_UNCHANGED);