QTは、コントロールのサイズに適応するためにopencvによって処理された2値化された画像を表示します
最近処理された画像を表示するためにqtを作成したところ、qtのQlabelは3チャネルの画像しか表示できず、opencvの2値化後の画像はシングルチャネルであることがわかりました。いくつかのWebページを確認してデバッグした後、次のコードが正常に実行されました。画像はコントロールのサイズに適応します
Mat img ;
cvtColor(threshold,img,CV_GRAY2RGB); //threshold 是单通道图像(mat格式) ,把单通道转换为三通道
QImage image5((const uchar*)img.data,img.cols,img.rows,img.cols*img.channels(),QImage::Format_RGB888);//转换成QImage格式
ui->colorView->setScaledContents(true); //colorView是控件名称 改成自己的名称 使得图片适应控件大小显示
ui->colorView->setPixmap(QPixmap::fromImage(image5));//将图片显示在QLabel上 colorView是控件名称 改成自己的名称