OpenCV - arm/android 手机上的 JPEG 压缩不会产生正确的图像
Posted
技术标签:
【中文标题】OpenCV - arm/android 手机上的 JPEG 压缩不会产生正确的图像【英文标题】:OpenCV - JPEG compression on arm/android phone doesn't result the right image 【发布时间】: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 再试一次 【参考方案1】:哈里斯的上述评论解决了这个问题。我修改了代码以更改颜色空间,如下所示:
cv::Mat mat;
// Initialize mat
cv::cvtColor(mat, mat, CV_BGR2RGB);
cv::imwrite("<sd card path>/img.jpg", mat);
我可以看到用这个保存的正确图像。
【讨论】:
以上是关于OpenCV - arm/android 手机上的 JPEG 压缩不会产生正确的图像的主要内容,如果未能解决你的问题,请参考以下文章
实现手机直播推送屏幕推送及录像功能RTMP推流组件之EasyRTMP-Android使用H265编码流程