java - 如何从 opencv for java 中的位创建垫子?

标签 java opencv feature-descriptor

有人可以解释如何使用位串中的值创建二进制矩阵吗?

例如, 我想从位串 1111000001010101 创建我的 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/

相关文章:

java - if 和 else 语句

java - Java 对象序列化时哪些因素控制文件大小

基于 Unix 时间戳的 Java 范围聚合

matlab - 如何使用 Mikolajczyk 的特征检测器/描述符评估框架?

java - 如何使用 java api 获取 AWS 帐户详细信息?不适用于 IAM 用户

c++ - 如何使用opencv在图像上产生眩光

c++ - 使用具有自适应阈值的掩码?

c++ - OpenCV:如何绘制一条线,其颜色相对于应绘制的表面相反?

java - 如何使用 openCV (java) 从最佳匹配列表中获取像素坐标?

c++ - 关键点描述符 OpenCV