将opencv java中的mat对象保存到hbase表

zaq34kh6  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(336)

目前我正在使用opencvjava提取图像特征并将它们存储到hbase表中。但我遇到了一个问题,即图像的图像特征在opencv中是mat或matofkeypoint类型,而如果我们要将数据插入hbase表,则必须使用byte[]。

......
featureDetector.detect(trainImages, trainKeypoints);
descriptorExtractor.compute(trainImages, trainKeypoints, trainDescriptors);
//Save to Hbase
Put put = new Put(key.getBytes());
put.add(family, keypoints, trainKeypoints);//???trainKeypoints is MatOfKeyPoint type
put.add(family, descriptors, trainDescriptors));//????trainDescriptors is Mat type
........

任何知道如何做的好方法的人,请帮助我。
谢谢。

mgdq6dx1

mgdq6dx11#

如果 MatOfKeyPoint and Mat is serializable/deserializable to byte[] 那你就这么做吧。
要存储matofkeypoint和mat,请获取它们的byte[]表示形式。将这些字节[]写入hbase。
要从hbase读取数据,请从hbase读取字节[],然后从字节[]构建相应的对象。

相关问题