有人可以解释如何使用位串中的值创建二进制矩阵吗?
例如,
我想从位串 11110000
和 01010101
创建我的 Mat,所以我有一个包含 2 行和 1 列的 mat 对象。
为此,我使用 Mat mat = new Mat(2,1,CvType.CV_8UC1); 初始化 mat 对象
我可以将这些字符串转换为字节数组并使用 mat.put(0,0,bytearray)
还是有其他我必须考虑的事情?
稍后我想使用这种方法创建我自己的二进制描述符
,它可以与由Ò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);
关于java - 如何从 opencv for java 中的位创建垫子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35695712/