c/c++语言开发共享Qt5.14 与 OpenCV4.5 教程之图片增强效果

文章参考《qt5开发及实例(第4版)》陆文周 主编一、建立qt工程1、选择类别2、建立项目名称3、选择qt基类及修改名称4、选择编译器(这边两个都选择,生成两个debug文件)5、选择运行环境,生成文

文章参考《qt5开发及实例(第4版)》陆文周 主编

一、建立qt工程

1、选择类别

Qt5.14 与 OpenCV4.5 教程之图片增强效果

2、建立项目名称

Qt5.14 与 OpenCV4.5 教程之图片增强效果

3、选择qt基类及修改名称

Qt5.14 与 OpenCV4.5 教程之图片增强效果

4、选择编译器(这边两个都选择,生成两个debug文件)

Qt5.14 与 OpenCV4.5 教程之图片增强效果

5、选择运行环境,生成文件夹

Qt5.14 与 OpenCV4.5 教程之图片增强效果 Qt5.14 与 OpenCV4.5 教程之图片增强效果

生成的项目文件夹

Qt5.14 与 OpenCV4.5 教程之图片增强效果

6、将预先编译好的opencv4.5下路径f:opencv4.5.0opencvbuildmingwinstallx64mingwbin下所有文件复制到qt 上面两个文件夹内

Qt5.14 与 OpenCV4.5 教程之图片增强效果

7、在项目的.pro文件中添加语句

  includepath += f:opencv4.5.0opencvbuildmingwinstallinclude  config(debug, debug|release): {  libs += f:opencv4.5.0opencvbuildmingwinstallx64mingwbinlibopencv_*d.dll  } else:config(release, debug|release): {  libs += -lf:opencv4.5.0opencvbuildmingwinstallx64mingwbin      -llibopencv_core450       -llibopencv_highgui450       -llibopencv_imgcodecs450       -llibopencv_imgproc450       -llibopencv_features2d450   -llibopencv_calib3d450  }  

完成项目配置

二、界面设计

1、界面及属性设置

Qt5.14 与 OpenCV4.5 教程之图片增强效果

属性设置

序号

名称

类型

属性设置

viewlabel

qlabel

frameshape:box
frameshadow:sunken

contrastverticalslider

qslider

maximum:100
value:33
tickpostion:ticksbelow

brightnessverticalslider

qslider

maximum:100

contrastlabel

qlabel

text:对比度

brightlabel

qlabel

text:亮度

2、在头文件中声明变量及设置公有函数,并生成对应定义函数

Qt5.14 与 OpenCV4.5 教程之图片增强效果

Qt5.14 与 OpenCV4.5 教程之图片增强效果

3、完成各公有函数功能代码

  /**********************界面初始化**************************/  void pictureenhance::initmainwindow()  {      qstring     imgpath = "d:\qt\qtopencvenhance\lena.jpg"; //本地路径(图片直接放在项目目录下)      mat         imgdata = imread(imgpath.tolatin1().data());   //读取图片数据         cvtcolor(imgdata,imgdata, color_bgr2rgb);                  //图片格式转换         myimg               = imgdata;         myqimg  = qimage((const unsigned char*)(imgdata.data), imgdata.cols, imgdata.rows, qimage::format_rgb888);         imgshow();  }        /**********************处理图片*****************************/  void pictureenhance::imgproc(float con, int bri)  {      mat     imgsrc = myimg;      mat     imgdst = mat::zeros(imgsrc.size(),imgsrc.type());  //初始生成空的零像素阵列      imgsrc.convertto(imgdst,-1,con,bri);      myqimg = qimage((const unsigned char*)(imgdst.data), imgdst.cols,imgdst.rows, qimage::format_rgb888);      imgshow();  }     /**********************显示图片******************************/  void pictureenhance::imgshow()  {      ui->viewlabel->setpixmap(qpixmap::fromimage(myqimg.scaled(ui->viewlabel->size(),qt::keepaspectratio)));      ui->viewlabel->setscaledcontents(true);  }

4、滑动条实现功能

转到uil设置界面,右键对比度滑动条,转到槽

Qt5.14 与 OpenCV4.5 教程之图片增强效果

完成槽函数

  /***********************对比度滑动条拖动槽*********************************/  void pictureenhance::on_contrastverticalslider_slidermoved(int position)  {      imgproc(position / 33.3,0);  }        /***********************对比度滑动条值改变槽***************************/  void pictureenhance::on_contrastverticalslider_valuechanged(int value)  {      imgproc(value / 33.3,0);  }     /****************************亮度滑动条拖动槽*****************************/  void pictureenhance::on_brightnessverticalslider_slidermoved(int position)  {      imgproc(1.0,position);  }     /**************************亮度滑动条值改变槽************************/  void pictureenhance::on_brightnessverticalslider_valuechanged(int value)  {      imgproc(1.0,value);  }

运行效果:

Qt5.14 与 OpenCV4.5 教程之图片增强效果

到此这篇关于qt5.14 与 opencv4.5 教程之图片增强的文章就介绍到这了,更多相关qt5.14 与 opencv4.5图片增强内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多c/c++开发分享Qt5.14 与 OpenCV4.5 教程之图片增强效果,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/965380.html

(0)
上一篇 2021年12月2日
下一篇 2021年12月2日

精彩推荐