【发布时间】:2017-08-16 23:32:08
【问题描述】:
我正在尝试编写一个函数,将灰度 OpenCv Mat 放入 Qt QPixmap,然后放入 QLabel。
三分之一的时间有效。
三分之一的时候,它会扭曲图像......
变成
其余时间,程序崩溃,特别是在 fromImage() 行。
我知道传入的 Mat 对象在每种情况下都是灰度且非空的。这是有问题的代码...
void MainWindow::updateCanvasLabel(Mat mat){
imwrite("c:/pics/last-opened.jpg", mat); //to verify that Mat is
// what I think it is
QPixmap pixmap = QPixmap::fromImage(QImage((unsigned char*) mat.data,
mat.cols,
mat.rows,
QImage::Format_Grayscale8));
ui->canvasLabel->setPixmap(pixmap);
ui->canvasLabel->setScaledContents(true);
}
【问题讨论】:
-
你可以上传图片,你有多少频道
-
您可能有一些通道问题(RGB/灰度/RGBA 等)检查一下