【问题标题】:Y800 image format(s) available in OpenCVOpenCV 中可用的 Y800 图像格式
【发布时间】:2013-04-26 19:38:04
【问题描述】:

OpenCV 中可用的 Y800 可能的图像格式是什么?它总是提到灰色吗?还有其他选择吗?

提前致谢。

【问题讨论】:

  • Y800 是单色格式 - 除了灰色,它还能是什么?如果我理解错了,你能改写你的问题吗?
  • 是的,它是单色的,但是和OpenCV中定义的GRAY一样吗?
  • 好的,根据这个 - fourcc.org/yuv.php - Y800GREY 相同(不是灰色),也可能与 Y8 相同。
  • 如果你这么说,那就意味着对于下面的行cv::cvtColor(frame, gray_image, CV_BGR2GRAY);,这意味着要转换为灰度格式的gray_image与Y800不同。根据你的回答,我是对的吗?
  • 这是正确的(据我了解)-CV_BGR2GRAY 提供灰度图像格式,而 Y800 是 FOURCC 视频编解码器。它们不一样,但都是灰度的。

标签: opencv image-formats


【解决方案1】:

八年后,我偶然发现了这个问题。我想添加一个关于 OpenCV 4.2.0 的答案。

对于视频,此版本具有 ffmpeg 后端,它本机理解 FOURCC 标识符“Y800”。令人困惑的是,它并没有采用单通道灰度(CV_8UC1)帧,而是通常的 OpenCV 三通道 BGR(CV_8UC3):

cv::VideoWriter vw("y8.avi", cv::VideoWriter::fourcc('Y', '8', '0', '0'), 60, frame.size());
vw.write(frame); // note: frame must be 8UC3!

OpenCV 支持多种图像 文件格式的灰度模式,包括但不限于 PGM、PNG 和 JPEG。

cv::imwrite("gray.pgm", image);

【讨论】:

    猜你喜欢
    • 2016-01-13
    • 2017-08-31
    • 2014-05-24
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    相关资源
    最近更新 更多