如果有人能帮助我解决这个问题,我将不胜感激: 我正在将 opencv 与 nodejs 结合使用 ( https://github.com/TanaseButcaru/node-opencv )
我有一组照片,我喜欢使用 opencv readImage 函数读取这些照片,然后将其保存在数据库中。
photos.map(async(photo) => {
cv.readImage(`${__dirname}/${photo}`, function (error, matrix) { //insert in DB}
你知道如何将这个“矩阵”保存在数据库中,然后使用它来检索图像并进行比较(ImageSimilarity)吗?
最佳答案
我不确定这些选项中的哪些是在node-opencv中实现的,但是:
您可以获取矩阵的未压缩的原始二进制数据,并将其存储为 JSON 格式的数组(假设您使用可以存储或序列化 JSON 格式数据的数据库,例如 mongodb)
使用OpenCV的imcodec模块将图像编码为base64格式,基本上可以存储为字符串。但是,根据编解码器的不同,您可能会损失图像质量,因此我推荐 png。
您还可以查看:https://github.com/justadudewhohacks/opencv4nodejs ,它实现了这两个选项。或者至少如何将 Mat 序列化为 JSON 数组或 Node 缓冲区的示例可能会帮助您解决问题。
关于node.js - OpenCV - 将图像保存在 DB Nodejs 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46528977/