【问题标题】:OpenCV - Save image in DB nodejsOpenCV - 在数据库 nodejs 中保存图像
【发布时间】:2017-10-02 15:44:59
【问题描述】:

如果有人能帮助我解决这个问题,我将不胜感激: 我正在使用带有 nodejs 的 opencv (https://github.com/TanaseButcaru/node-opencv)

我有一组照片,我喜欢使用 opencv readImage 函数读取这些照片,然后将其保存在数据库中。

photos.map(async(photo) => {
    cv.readImage(`${__dirname}/${photo}`, function (error, matrix) { //insert in DB}

您知道如何将这个“矩阵”保存在数据库中,然后用它来检索图像并进行比较(ImageSimilarity)吗?

【问题讨论】:

    标签: node.js database image opencv similarity


    【解决方案1】:

    我不确定,这些选项中哪些是在node-opencv中实现的,但是:

    1. 您可以获取矩阵的未压缩原始二进制数据并将其存储为 JSON 格式的数组(假设您使用可以存储或序列化 JSON 格式数据的数据库,例如 mongodb)

    2. 使用OpenCV的imcodec模块将图片编码为base64格式,基本可以存储为字符串。但是,根据编解码器的不同,您可能会丢失图像质量,因此我建议您使用 png。

    您还可以查看:https://github.com/justadudewhohacks/opencv4nodejs,它实现了这两个选项。或者至少有关如何将 Mat 序列化为 JSON 数组或节点缓冲区的示例可以帮助您解决问题。

    【讨论】:

    • 您好 justadudewhohacks 感谢您的评论!我无法使用 imcodec,因为它没有在 node-opencv 中实现。我对图像使用 imageOpenCV.toBuffer 函数并将其保存在数据库中。这是保存在数据库中的唯一方法。
    猜你喜欢
    • 1970-01-01
    • 2011-02-02
    • 2010-10-25
    • 1970-01-01
    • 2011-02-14
    • 2020-06-01
    • 2021-06-08
    • 2021-06-09
    相关资源
    最近更新 更多