Qt中Opencv转Qimage出现重影或者颜色不对

废话不多说

在qt中opencv获取的图像转qimage时出现重影原因:

图像数据的内存对齐可能会导致画面重影,如果出现误差转换出来的图就会出现重影

解决办法:
cv::Mat image_bgr = cv::imread("example.jpg");
cv::Mat image_aligned;
cv::copyMakeBorder(image_bgr, image_aligned, 0, 0, 0, 0, cv::BORDER_DEFAULT);
QImage qimage(image_aligned.data, image_aligned.cols, image_aligned.rows, QImage::Format_RGB888);

重点在**copyMakeBorder()**这个方法,让数据对齐

出现颜色不对:opencv是bgr,qimage是rgb 如果在获取到opencv没转rgb数据的时候直接用QImage::Format_RGB888,就会出现颜色不对,

解决方案:

1.opencv先转rgb
cv::cvtColor(image_bgr, image_rgb, cv::COLOR_BGR2RGB);
QImage qimage(image_rgb.data, image_rgb.cols, image_rgb.rows, QImage::Format_RGB888);

2.直接设置
QImage qimage(image_rgb.data, image_rgb.cols, image_rgb.rows, QImage::Format_BGR888);

相关推荐
码界筑梦坊21 小时前
302-基于Python的安卓应用市场数据可视化分析推荐系统
开发语言·python·信息可视化·毕业设计·fastapi
czxyvX1 天前
1-Qt概述
c++·qt
LiLiYuan.1 天前
【Java 6种线程状态】
java·开发语言
加号31 天前
【C#】 WebAPI 接口设计与实现指南
开发语言·c#
lly2024061 天前
jQuery 删除元素详解
开发语言
itzixiao1 天前
L1-047 装睡 (5分)[java][python]
java·开发语言·python
林恒smileZAZ1 天前
Three.js实现更真实的3D地球[特殊字符]动态昼夜交替
开发语言·javascript·3d
|_⊙1 天前
C++ 智能指针
开发语言·c++
电子科技圈1 天前
IAR作为Qt Group独立BU携两项重磅汽车电子应用开发方案首秀北京车展
开发语言·人工智能·汽车·软件工程·软件构建·代码规范·设计规范
代码中介商1 天前
C语言指针深度解析:从数组指针到函数指针
c语言·开发语言