本次在转换过程中遇到了一些相关问题,首先是将QImage转换为uchar*之后,在uchar转换Mat类型的过程中,测试的时候发现图像为灰度图像,一直没有色差变化,将图像宽高大小改变后调整单通道
为三通道后,依旧为灰度图像,改变为四通道后,图像变为彩图。
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QImage image;
int width=0;
int height=0;
int lineByte=0;
image.load("D:/demo/QT/src_CharToImage/1.png");
width = image.width();
height = image.height();
unsigned char* buffer = image.bits();
Mat mat = Mat(height,width,CV_8UC4,(void *)buffer);
imshow("效果图像",mat);
qDebug() << image.bits();
ui->label->setPixmap(QPixmap::fromImage(image));
}
效果图像