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);

相关推荐
忘记92620 小时前
session的工作原理
开发语言
java_logo20 小时前
LinuxServer.io LibreOffice 容器化部署指南
java·开发语言·docker·dubbo·openoffice·libreoffice·opensource
꧁坚持很酷꧂20 小时前
Windows安装Qt Creator5.15.2(图文详解)
开发语言·windows·qt
却道天凉_好个秋20 小时前
OpenCV(四十一):SIFT关键点检测
人工智能·opencv·计算机视觉
Alpha first20 小时前
C++核心知识点梳理:类型兼容、多继承与虚基类
开发语言·c++
.小小陈.20 小时前
C++初阶9:list使用攻略
开发语言·c++·学习·list
qq_5895681020 小时前
@NotBlank与@NotEmpty注解无法导入
java·开发语言
超自然祈祷21 小时前
水声相关公式C++实现
开发语言·c++
淼淼76321 小时前
QT表格与数据
开发语言·qt
smile_Iris21 小时前
Day 38 GPU训练及类的call方法
开发语言·python