gpt4 book ai didi

qt - 使用 QImage 和 OpenCV 显示图像

转载 作者:太空宇宙 更新时间:2023-11-03 21:22:48 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Fastest method to convert IplImage IPL_DEPTH_32S to QImage Format_RGB32

我在使用 Qt 显示图像时遇到了一个奇怪的问题...我使用 OpenCV 读取了一个视频帧并将其从 BGR 转换为 RGB。

video >> frameOrg;
cvtColor(frameOrg,frameOrg,CV_BGR2RGB);

然后我使用裁剪样式在图像上选择一个 ROI..

frame = frameOrg(roi);

我通过信号/插槽将选定的 ROI 发送到小部件以进行显示..显示使用的 paintEvent()

image = QImage((const unsigned char*)frame.data,frame.cols,
frame.rows,QImage::Format_RGB888);

QRectF target(0.0,0.0,image.width(),image.height());
QRectF source(0.0,0.0,image.width(),image.height());
QPainter painter(this);
painter.drawImage(target,image,source);

但是每当我选择 ROI 的奇数宽度和高度的组合时,我都会得到一个奇怪的显示,如下所示...原始图像

full image when displayed

所选 ROI 的图像

image of selected roi

我需要做一些修改吗? Windows 7 显示有问题吗?使用 imshow() 显示时相同的 ROI 显示正确...任何人都可以帮助我..提前谢谢...

有效的实际代码

image = QImage((const unsigned char*)frame.data,frame.cols,
frame.rows,frame.step,QImage::Format_RGB888);

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com