【问题标题】:OpenCV - JPEG compression on arm/android phone doesn't result the right imageOpenCV - arm/android 手机上的 JPEG 压缩不会产生正确的图像
【发布时间】:2014-06-10 22:30:41
【问题描述】:

我编写了一个使用 OpenCV 来处理图像的 android 应用程序。我正在使用以下代码将 cv::Mat 对象写入 JPG 文件。

cv::imwrite("<sd card path>/img.jpg", <some mat object>);

我确实看到图像保存在我的 SD 卡上,但是颜色不正确。它在整个图像上都有一些蓝色。

有人知道我在这里缺少什么吗?

【问题讨论】:

  • 可能色彩空间改成了RGB,OpenCV默认是BGR。只需使用cvtColor 再试一次

标签: c++ opencv android-ndk


【解决方案1】:

哈里斯的上述评论解决了这个问题。我修改了代码以更改颜色空间,如下所示:

cv::Mat mat;

// Initialize mat
cv::cvtColor(mat, mat, CV_BGR2RGB);
cv::imwrite("<sd card path>/img.jpg", mat);

我可以看到用这个保存的正确图像。

【讨论】:

    猜你喜欢
    • 2011-05-24
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 2012-05-16
    • 2010-10-22
    • 2016-05-18
    • 2017-04-07
    相关资源
    最近更新 更多