Qt中通过控件平滑处理图像并且显示在Label标签中
2015-11-30 20:11
567 查看
接着上一个例子Qt中通过控件在Label标签中显示一张静态图片我又加入了平滑处理图像并且显示处理后图像的功能
先上具体效果图:
对应的样式如下
接着我们来讲一下会用到的一个重要知识点:IplImage转成QImage格式
首先我们要知道在opencv中如果用IplImage定义一副图像的话他的格式一般我们定义的是3通道,24位深度的彩色图像,但是三原色排列是按照BGR排列的
但是QT中定义的QImage的3通道24位深度的彩色图像的确实RGB彩图,所以我们需要将IplImage图像转换成为QImage图像,然后通过Label标签将处理后的图像显示出来,这时我们采用的方法是将QImage转换为QPixmap图像;
我们可以通过下面这段代码来实现:
//从OpenCv的Iplimage格式转换成Qt中Qimage格式
QImage*IplToQImg(constIplImage*cvImg)
{
if(!cvImg)
returnNULL;
IplImage*temp=NULL;
temp=cvCloneImage(cvImg);
cvCvtColor(cvImg,temp,CV_BGR2RGB);
uchar*imgData=(uchar*)(temp->imageData);
QImage*qImg=newQImage(imgData,temp->width,temp->height,QImage::Format_RGB888);
returnqImg;
cvReleaseImage(&temp);
deleteimgData;
}
这样便于随时调用,因为这是经常用到的函数。
接下来我们就可以完成我们的目标完成高斯模糊,这个相对比较成熟,可以参考下这位博主写的
/article/1943437.html
今天就写到这,源码地址为http://download.csdn.net/detail/u014020344/9313483
先上具体效果图:
对应的样式如下
接着我们来讲一下会用到的一个重要知识点:IplImage转成QImage格式
首先我们要知道在opencv中如果用IplImage定义一副图像的话他的格式一般我们定义的是3通道,24位深度的彩色图像,但是三原色排列是按照BGR排列的
但是QT中定义的QImage的3通道24位深度的彩色图像的确实RGB彩图,所以我们需要将IplImage图像转换成为QImage图像,然后通过Label标签将处理后的图像显示出来,这时我们采用的方法是将QImage转换为QPixmap图像;
我们可以通过下面这段代码来实现:
//从OpenCv的Iplimage格式转换成Qt中Qimage格式
IplImage*temp=NULL;//定义一个临时转换的图像
temp=cvCloneImage(Smooth_image);//临时图像就是克隆的你用CV平滑处理过后的图像
cvCvtColor(Smooth_image,temp,CV_BGR2RGB);//将BGR转成RGB
uchar*imgData=(uchar*)(temp->imageData);
QImage*qImg1=newQImage(imgData,temp->width,temp->height,QImage::Format_RGB888);//获取QImage图像,QImage::Format_RGB888格式为
或者可以封装成下面的子函数
QImage*IplToQImg(constIplImage*cvImg)
{
if(!cvImg)
returnNULL;
IplImage*temp=NULL;
temp=cvCloneImage(cvImg);
cvCvtColor(cvImg,temp,CV_BGR2RGB);
uchar*imgData=(uchar*)(temp->imageData);
QImage*qImg=newQImage(imgData,temp->width,temp->height,QImage::Format_RGB888);
returnqImg;
cvReleaseImage(&temp);
deleteimgData;
}
这样便于随时调用,因为这是经常用到的函数。
接下来我们就可以完成我们的目标完成高斯模糊,这个相对比较成熟,可以参考下这位博主写的
今天就写到这,源码地址为
相关文章推荐
- qt url下载链接 获取文件名
- Qt中创建场景并将该创景显示在窗口上面实例
- QT里面父窗口设置式样和子窗口设置式样冲突的解决办法
- qt creator在Qt5中中文显示的问题
- MQTT协议简介
- 学习Qt5(12)
- QT实现Webdav的HTTPS通信
- qt5.5.1 移植到arm
- Qt—细节杂记
- QThread中的互斥、读写锁、信号量、条件变量
- QT Creator 使用SVN的版本号做为编译的版本信息
- MQTT XMPP HTTP 即时通讯方案对比
- Qt使用教程之指定运行设置(三)
- Qt实现画板部件并和自定义button按钮结合实例
- Qt第三方库----QCustomPlot
- arm开发QT中文显示
- Qt中translate、tr关系 与中文问题
- Qt学习 之 数据库
- qt mac 无法读文件
- PyQt5教程(二)——菜单与工具栏