目前我正在使用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
........
任何知道如何做的好方法的人,请帮助我。
谢谢。
1条答案
按热度按时间mgdq6dx11#
如果
MatOfKeyPoint and Mat is serializable/deserializable to byte[]
那你就这么做吧。要存储matofkeypoint和mat,请获取它们的byte[]表示形式。将这些字节[]写入hbase。
要从hbase读取数据,请从hbase读取字节[],然后从字节[]构建相应的对象。