【问题标题】:OpenCV read Videos/Images without compression/changeOpenCV 无需压缩/更改即可读取视频/图像
【发布时间】:2016-09-27 14:14:13
【问题描述】:

我目前正在用 C++ 编写视频分割程序,并希望使用 opencv 逐帧读取视频。 尽管它似乎工作得很好,但我在读取(和写入)图像时注意到了一些细微的变化。 我读取和写入图像的代码基本上如下(尽管我通常会继续使用创建的图像矩阵):

Videocapture cap = VideoCapture(filename);
int counter = 0;
while(1) {
    Mat tmp;
    cap >> tmp;
    if(tmp.empty()) {
    //cout << "scanned all frames" << endl;
    break;
    }
    //save frames as jpeg
    stringstream filename;
    filename << "original" << counter;
    counter++;
}

这些代码可以很好地工作,但是颜色会发生一些细微的变化,我想消除这些变化。 这是源图像(放大): https://picload.org/image/rdddagor/source.png

这是创建的(也放大了): https://picload.org/image/rdddagir/opencv.png

有没有办法保持原始图像质量?

【问题讨论】:

  • 您是否将图像保存为 jpeg?
  • 哦,你是对的。愚蠢的我。不幸的是,这意味着我的代码中的其他地方有错误(但与这个问题无关)。感谢您的帮助!

标签: c++ image opencv


【解决方案1】:

正如@Miki 所说,我只需将图像保存为“.png”(或任何其他无损格式)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多