环境:QT5.5 +Opencv3.0
处理过程:img图像为3通道彩色IPLImage图像,将其灰度化存储于src中,将src转换成Mat格式(注:opencv3.0版本中IPLImage转换成Mat的格式为Mat src1=cvarrToMat(src)),然后进行了高斯滤波,最后使用QT的label将图像显示出来。
IplImage *src = cvCreateImage(cvGetSize(this->img), 8, 1);
cvCvtColor(img, src, CV_BGR2GRAY);
if (src)
{
cvSmooth(src, src, CV_GAUSSIAN, 3, 1, 0);
}
Mat src1 = cvarrToMat(src);
QImage qImage;
if (src1.channels() == 1){
qImage = QImage((const uchar*)(src1.data), src1.cols, src1.rows, src1.cols*src1.channels(), QImage::Format_Indexed8);
this->ui->label1->setPixmap(QPixmap::fromImage(qImage));
this->ui->label1->resize(this->ui->label1->pixmap()->size());
this->ui->label1->show();
}