Qt图片的显示示例

QPixmap OpenCV40_VC14_Qt58::ImageToPixmap(const Mat cvimage)
{
	QPixmap pixmap;
	QImage *qimage = NULL;

	if (1 == cvimage.channels())
	{
		uchar *imgData = (uchar *)cvimage.data;
		qimage = new QImage(imgData, cvimage.cols, cvimage.rows, cvimage.step
			, QImage::Format_Indexed8);
		pixmap = QPixmap::fromImage(*qimage);
	}
	else if (3 == cvimage.channels())
	{
		Mat img(cvimage.cols, cvimage.rows, cvimage.depth());
		cvtColor(cvimage, img, COLOR_BGR2RGB);
		uchar *imgData = (uchar *)img.data;
		qimage = new QImage(imgData, cvimage.cols, cvimage.rows, cvimage.step
			, QImage::Format_RGB888);
		pixmap = QPixmap::fromImage(*qimage);
	}

	return pixmap;
}

void OpenCV40_VC14_Qt58::ShowImage(cv::Mat color_img)
{
	// Judge the if the image is empty.
	if (color_img.empty())
	{
		return;
	}
	QLabel *lbl_show_img = NULL;
	lbl_show_img = ui.label_show;
	lbl_show_img->setPixmap(ImageToPixmap(color_img));
	lbl_show_img->setScaledContents(true);
	lbl_show_img->show();


}

 

©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值