gpt4 book ai didi

c++ - 如何将使用Qt Paint Application绘制的图像传输到Mat openCV

转载 作者:行者123 更新时间:2023-11-28 06:40:27 28 4
gpt4 key购买 nike

我已经使用 Qt 创建了一个绘图应用程序。现在,无论我画什么,我都需要处理图像。所以,我想将绘制的图像传输到openCV中的Mat中。我该怎么做?

最佳答案

我写了将截图传输到 cv::Mat 的代码片段,但我希望你能理解主要思想,你应该进行哪些对话。

    QPixmap win = QPixmap::grabWindow(QApplication::desktop()->winId());
QImage scr = win.toImage().scaled(640,480);
QImage screen = scr.convertToFormat(QImage::Format_RGB888);
cv::Mat tmp(screen.height(),screen.width(),CV_8UC3,(uchar*)screen.bits(),screen.bytesPerLine());
cvtColor(tmp, tmp,CV_BGR2RGB);

现在 cv::Mat 包含此图像。

例子:

QPixmap okno = QPixmap::grabWindow(QApplication::desktop()->winId());
QImage scr = okno.toImage().scaled(640,480);
QImage screen = scr.convertToFormat(QImage::Format_RGB888);
cv::Mat tmp(screen.height(),screen.width(),CV_8UC3,(uchar*)screen.bits(),screen.bytesPerLine());
cvtColor(tmp, tmp,CV_BGR2RGB);
cv::namedWindow("d");
cv::imshow("d",tmp);

imshow 正确显示 cv::Mat

关于c++ - 如何将使用Qt Paint Application绘制的图像传输到Mat openCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26075873/

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