QTはopencvによって処理された2値化された画像を表示し、画像はラベルボックスのサイズに適応します

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是控件名称 改成自己的名称

おすすめ

転載: blog.csdn.net/qq_43207709/article/details/112390934