当前位置: 首页 > news >正文

利津网站制作百度总部地址

利津网站制作,百度总部地址,遵义网站建设优化公司,聊城集团网站建设公司一、关于图像处理的相关类和函数 图像容器#xff1a;Mat类 读取图像#xff1a; Mat imread( const String filename, int flags IMREAD_COLOR ); 功能#xff1a;读取出图像 参数#xff1a;图像路径 返回值#xff1a;读取的图像 命名展示图像的窗口#xff…一、关于图像处理的相关类和函数 图像容器Mat类 读取图像 Mat imread( const String filename, int flags IMREAD_COLOR ); 功能读取出图像 参数图像路径 返回值读取的图像 命名展示图像的窗口 void namedWindow(const String winname, int flags WINDOW_AUTOSIZE); 功能命名一个图像窗口 参数1窗口名称 参数2窗体尺寸默认为自适应大小 返回值无 展示图像 void imshow(const String winname, const ogl::Texture2D tex); 功能展示图像 参数1要展示图像的窗口名称 参数2要展示的二维图像 返回值无 示例 #include widget.h #include QApplication int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();//1、定义一个图像容器Mat src;//2、将图像加载进来//函数原型Mat imread( const String filename, int flags IMREAD_COLOR );//参数图像的路径//返回值图像容器src imread(D:/opencv/resource/age.jpg);//4、命名一个展示图像的窗口//namedWindow(Test);//5、展示图像//函数原型void imshow(const String winname, const ogl::Texture2D tex);//参数1要展示图像的窗口名称//参数2要展示的图像//返回值无imshow(Test, src);return a.exec(); } 二、视频流相关类和函数 视频流类VideoCapture 打开视频 virtual bool open(const String filename); 参数要打开视频的路径 返回值成功返回true失败返回false 若想要打开摄像头只需在构造时调用构造函数参数传递0即可 读取视频流中图像 virtual bool read(OutputArray image); 功能读取视频流中的图像 参数图像容器 返回值成功读取返回true失败或者视频结束返回false 图像翻转 void flip(InputArray src, OutputArray dst, int flipCode); 将图像进行旋转 参数1要处理的图像 参数2处理后的图像容器 参数3处理规则0表示沿x翻转1表示沿y轴翻转-1表示沿xy轴翻转 休眠阻塞函数 int waitKey(int delay 0); 功能阻塞等待用户输入数据如果delay0则一直等待 参数毫秒数 返回值在等待过程中用户按下键的值 示例 #include widget.h #include QApplication int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();//1、定义视频流对象VideoCapture v(0); //表明使用摄像头构造一个视频流对象//2、读取摄像头中的图像Mat src; //用于存放读取出来的图像//函数原型virtual bool read(OutputArray image);//功能从视频流中读取一张图像放入参数中//参数图像容器//返回值成功返回真失败或者读取视频结束返回假while(v.read(src)){//将图像进行翻转//函数原型void flip(InputArray src, OutputArray dst, int flipCode);//参数1要翻转的图像//参数2翻转后的图像容器//参数3翻转规则正数表示按y轴翻转0表示按x轴翻转负数表示按xy轴翻转flip(src, src, 1);//展示图像imshow(Test1, src);//加延时函数//函数原型int waitKey(int delay 0);//参数等待时间//返回值在等待期间用户按下的键盘的ascii值 ESC键对应的值为27if(waitKey(20)27){break;}}return a.exec(); } 三、图像处理 灰度处理 void cvtColor( InputArray src, OutputArray dst, int code, int dstCn 0 ); 功能转换图像色彩空间 参数1要转换的图像 参数2转变后图像容器 参数3转换规则BGR to gray 返回值无 均衡化处理 void equalizeHist( InputArray src, OutputArray dst ); 参数1输入的灰度图像必须是8-bit的单通道图像 参数2输出的图像 图像直方图对整个图像在灰度范围内的像素值0-255统计出现的频率据此生成直方图直方图反应了图像的灰度分布情况。 示例 #include widget.h #include QApplication int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();//1、定义视频流对象VideoCapture v(0); //表明使用摄像头构造一个视频流对象//2、读取摄像头中的图像Mat src; //用于存放读取出来的图像Mat gray; //用于存储灰度图的图像容器Mat dst; //用于存储均衡化处理后的图像容器//函数原型virtual bool read(OutputArray image);//功能从视频流中读取一张图像放入参数中//参数图像容器//返回值成功返回真失败或者读取视频结束返回假while(v.read(src)){//将图像进行翻转//函数原型void flip(InputArray src, OutputArray dst, int flipCode);//参数1要翻转的图像//参数2翻转后的图像容器//参数3翻转规则正数表示按y轴翻转0表示按x轴翻转负数表示按xy轴翻转flip(src, src, 1);//3、将图像灰度处理//函数原型void cvtColor( InputArray src, OutputArray dst, int code, int dstCn 0 );//参数1要转换的图像//参数2转换后的图像容器//参数3转换规则 CV_BGR2GRAY表示将bgr彩色图转换为gray灰度图//返回值无cvtColor(src, gray, CV_BGR2GRAY);//4、对图像进行均衡化处理//函数原型void equalizeHist( InputArray src, OutputArray dst );//参数1要进行均衡化处理的图像必须是单通道灰度图//参数2均衡化处理后的图像容器//返回值无equalizeHist(gray, dst);//展示彩色图像imshow(Test1, src);//展示灰度图像imshow(Test2, gray);//展示均衡化处理后的图像imshow(Test3, dst);//加延时函数//函数原型int waitKey(int delay 0);//参数等待时间//返回值在等待期间用户按下的键盘的ascii值 ESC键对应的值为27if(waitKey(20)27){break;}}return a.exec(); } 四、级联分类器 opencv级联分类器工具类 : CascadeClassifier 加载级联分类器配置文件 : bool load( const String filename ) 参数1分类器数据文件的名字 返回值成功true失败false 找到人脸所在位置的矩形区域 void detectMultiScale( const Mat image, CV_OUT vector objects, double scaleFactor 1.1, int minNeighbors 3, int flags 0, Size ize Size(24,24)) 参数1:待检测灰度图像(数据少处理起来简单) 参数2:被检测物体的矩形框向量( 人脸Rect矩形区域其中objects.size()是人脸个数 ) 参数3:前后两次相继的扫描中搜索窗口的比例系数默认为1.1 即每次搜索窗口扩大10% 参数4:构成检测目标的相邻矩形的最小个数 如果组成检测目标的小矩形的个数和小于 minneighbors - 1 都会被除 参数5:若设置为CV_HAAR_DO_CANNY_PRUNING 函数将会使用Canny边缘检测来排除边缘过多 或过少的区域,一般采用默认值0 参数6:用来限制得到的目标区域的范围一般检测人脸使用Size(24, 24) 显示矩形区域 void rectangle( CV_IN_OUT Mat img, Rect rec, const Scalar color, int thickness 1, int lineType LINE_8, int shift 0);img图像。 rec表征矩形的位置和长宽。 color线条颜色 (RGB) 。 thickness组成矩形的线条的粗细程度。 line_type线条的类型。 shift坐标点的小数点位数,0表示没有小数点。示例 #include widget.h #include QApplication int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();//1、定义视频流对象VideoCapture v(0); //表明使用摄像头构造一个视频流对象//2、读取摄像头中的图像Mat src; //用于存放读取出来的图像Mat gray; //用于存储灰度图的图像容器Mat dst; //用于存储均衡化处理后的图像容器//5、实例化一个级联分类器的对象用于找到图像中的人脸矩形区域CascadeClassifier c;//给类对象装载人脸识别模型//函数原型bool load( const String filename );//功能给级联分类器对象下载一个识别模型//参数人脸识别模型的文件路径//返回值成功下载返回真失败返回假if(!c.load(D:/opencv/resource/haarcascade_frontalface_alt2.xml)){QMessageBox::information(NULL,失败, 人脸识别模型装载失败);return -1;}//定义容器存放人脸分类后的矩形框vectorRect faces;//函数原型virtual bool read(OutputArray image);//功能从视频流中读取一张图像放入参数中//参数图像容器//返回值成功返回真失败或者读取视频结束返回假while(v.read(src)){//将图像进行翻转//函数原型void flip(InputArray src, OutputArray dst, int flipCode);//参数1要翻转的图像//参数2翻转后的图像容器//参数3翻转规则正数表示按y轴翻转0表示按x轴翻转负数表示按xy轴翻转flip(src, src, 1);//3、将图像灰度处理//函数原型void cvtColor( InputArray src, OutputArray dst, int code, int dstCn 0 );//参数1要转换的图像//参数2转换后的图像容器//参数3转换规则 CV_BGR2GRAY表示将bgr彩色图转换为gray灰度图//返回值无cvtColor(src, gray, CV_BGR2GRAY);//4、对图像进行均衡化处理//函数原型void equalizeHist( InputArray src, OutputArray dst );//参数1要进行均衡化处理的图像必须是单通道灰度图//参数2均衡化处理后的图像容器//返回值无equalizeHist(gray, dst);//6、使用级联分类器对象获取人脸矩形区域//函数原型void detectMultiScale( InputArray image,CV_OUT std::vectorRect objects//参数1要进行识别的图像//参数2对该图像识别后的矩形框存放的数组容器c.detectMultiScale(dst, faces);//7、将上述得到的矩形框全部都绘制到图像上for(int i0; ifaces.size(); i){//将任意一个矩形框全部都绘制到图像上//函数原型void rectangle(CV_IN_OUT Mat img, Rect rec,const Scalar color, int thickness 1//参数1要被绘制的图像//参数2要绘制的矩形框//参数3矩形框的颜色//参数4矩形框的粗细//返回值无rectangle(src, faces[i], Scalar(0,0,255), 2);}//8、像素反差for(int i0; isrc.rows; i) //外层循环控制行数{for(int j0; jsrc.cols; j) //内层循环控制列数{//找到任意一个像素:src.atVec3b(i,j)//找到任意一个像素中的通道中的值src.atVec3b(i,j)[k]for(int k0; k3; k){src.atVec3b(i,j)[k] 255 - src.atVec3b(i,j)[k]; //对像素进行反差}}}//展示彩色图像imshow(Test1, src);//展示灰度图像imshow(Test2, gray);//展示均衡化处理后的图像imshow(Test3, dst);//加延时函数//函数原型int waitKey(int delay 0);//参数等待时间//返回值在等待期间用户按下的键盘的ascii值 ESC键对应的值为27if(waitKey(20)27){break;}}return a.exec(); }
http://www.dnsts.com.cn/news/87869.html

相关文章:

  • 菏泽+网站建设公司网站开发工程师有证书考试吗
  • 温州新闻优化设计七年级上册英语答案
  • 付网站建设费教育网站制作实训报告
  • 做招标应该关注什么网站wordpress公共函数在哪
  • 网站向哪里备案查询网站备案时间查询
  • 网站建设基础教学设计天津有哪些互联网公司
  • 南通网站制作公司中学网站建设方案 分校区
  • 网站改版怎么弄厦门市建设局局长
  • 网站建设流程范文抖音流量推广神器软件免费
  • 网站开发需要什么开发工具php微网站开发
  • 有不收费的网站泰安企业建站公司平台
  • 城阳网站建设公司传统营销
  • 电子产品在哪些网站做调研为什么要做手机网站开发
  • 做磁力解析网站网站开发经理具备什么知识
  • 北京建网站开发山东省新闻
  • 傻瓜做网站设计互动网站建设
  • 做个网站多少钱怎么接广告做网站的软件淘汰史
  • qq登录网站怎么做wordpress cufon
  • 网站建设公司 校园网站经典网站设计案例
  • 江西省建设监督网站电子网中国第一作文网
  • 毕设DW做网站的过程wordpress 看不到图
  • 网站服务器维护 价目表成都APP 微网站开发
  • 网站运营招聘dedecms的网站如何添加个引导页
  • 哪个网站可以做行程表wordpress 数学主题
  • 金融类网站模板北京html5网站建设
  • 直播网站 建设WordPress行距太大
  • 绿色食品网站建设论文优秀网站设计欣赏图片
  • 做周边的网站外贸手机网站建设
  • 怎么做打鱼网站wordpress 仿微信评论
  • 关于做教育新闻的网站网站建设外地便宜