OPENCV-2 学习笔记

1、图像显示

#include<opencv2/opencv.hpp>
using namespace cv; //使用命名空间
void main(){Mat srcImage = imread('1.jpg');//载入图像imshow('图像标题',srcImage);//显示图像waitKey(0);//等待按键按下  
}

2、图像腐蚀

#include <opencv2/opencv.hpp>  
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main()
{Mat srcImage = imread("E:\\4.JPG");imshow("原图--腐蚀操作", srcImage);Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));Mat dsImage;erode(srcImage, dsImage, element);  //腐蚀函数imshow("效果图", dsImage);waitKey(0);return 0;
}

3、图像模糊

#include <opencv2/opencv.hpp>  
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;int main()
{Mat srcImage = imread("E:\\4.JPG");imshow("原图--腐蚀操作", srcImage);Mat dsImage;blur(srcImage, dsImage, Size(7, 7)); //进行滤波操作imshow("效果图", dsImage);waitKey(0);return 0;
}

4、边缘检测

#include <opencv2/opencv.hpp>  
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;int main()
{Mat srcImage = imread("E:\\4.JPG");imshow("原图--腐蚀操作", srcImage);Mat dsImage,grayImage,edge;//创建与原图同类型和大小的矩阵dstdsImage.create(srcImage.size(), srcImage.type());//将原图转化为灰度图像cvtColor(srcImage, grayImage, CV_BGR2GRAY);//使用3*3内核降噪blur(grayImage, edge, Size(3, 3));//运行canny算子Canny(edge,edge,3,9,3);imshow("效果图", edge);waitKey(0);return 0;
}

5、读取视频或调用摄像头

int main()
{//初始化VideoCapture capture("E://1.avi");//调用摄像头//VideoCapture capture(0);//循环每一帧,相当一张图while (1) {Mat frame;capture >> frame;//存储每一帧imshow("视频", frame);waitKey(50);//50ms}return 0;
}

6、写视频文件

int main() {  IplImage *iplImg = cvLoadImage("/home/huanglei/wr.jpg", 1);  IplImage *iplImgNew = cvCreateImage(cvSize(320,240),8,3) ;  //改变图片大小适应视频  cvResize(iplImg,iplImgNew,CV_INTER_LINEAR) ;  CvVideoWriter* video = cvCreateVideoWriter("/home/huanglei/tree1.avi",  CV_FOURCC('P', 'I', 'M', '1'), 20,  cvSize(iplImgNew->width, iplImgNew->height), 1);  /* * 逐帧读取视频,并保存到另外一个视频文件中 */  CvCapture *cap;  cap = cvCreateFileCapture("/home/huanglei/tree.avi");  IplImage *imgVideo ;  int q ;  while (imgVideo = cvQueryFrame(cap)) {  q = cvWriteFrame(video, imgVideo);  }  /* * 在新的视频文件的末尾插入图片 */  int i;  for (int x = 0; x < 50; x++) {  i = cvWriteFrame(video, iplImgNew);  }  /* * 释放指针 */  if (video) {  cvReleaseVideoWriter(&video);  cvReleaseImage(&imgVideo);  cvReleaseImage(&imgVideo);  cvReleaseImage(&iplImg);  }  return 0;  
}  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/250753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javascript --- 对象的方式体验链式调用

将功能相近的方法写入同一个对象中,是一个很好的编程习惯,便于后期的维护和前期的开发. foo1 var fooObj {foo1: function() {console.log(foo1);return this;} } fooObj.foo1();此有一个对象: fooObj它有一个方法: foo1()foo1打印了一个字符串’foo1’,然后返回了当前的执行…

oracle 数据库查询多条数据的一列值

select sum(case when hc13 then JE else 0 end), sum(case when hc14 then JE else 0 end), sum(case when hc15 then JE else 0 end), sum(case when hc16 then JE else 0 end) from 表名转载于:https://www.cnblogs.com/lkzp123456/p/8608080.html

OPENCV-3 学习笔记

OPENCV-3 学习笔记 imread()读入图&#xff0c;第一个参数&#xff0c;const string&类型的filename&#xff0c;填我们需要载入的图片路径名&#xff0c; 第二个参数&#xff0c;int类型的flags&#xff0c;为载入标识&#xff0c;它指定一个加载图像的颜色类型。 named…

vue --- vue-router(项目模式的导入)

main.js // main.js // 1.1 导入路由的包 import VueRouter from vue-router// 1.2 安装路由 Vue.use(VuerRouter)// 1.3 导入自己的router.js模块 import router from ./router.js// 1.4 挂载router对象在vm实例上 const vm new Vue({el: #app,router })app.vue 原本的 a …

Innodb存储引擎——非聚集索引

如果给表定义了主键&#xff0c;那么表在磁盘上的存储结构就由整齐排列的结构转变成了树状结构&#xff0c;也就是「平衡树」结构&#xff0c;换句话说&#xff0c;就是整个表就变成了一个索引&#xff0c;这就是所谓的「聚集索引」。 这就是为什么一个表只能有一个主键&#x…

cd 切换目录

1. 功能说明 cd是“change directory”中每个氮气的首字母缩写功能是重当前工作目录切换到指定的工作目录&#xff1b;cd是内建命令。 2. 语法格式 cd [option] [dir] cd 选项 目录 3.使用范例 范例1&#xff1a; 切换到/home目录 [rootlocalhost sysconfig]# pwd /etc/s…

OPENCV-4 学习笔记

OPENCV-4 学习笔记 ROI—设定感兴趣的区域&#xff08;region of interest&#xff09; 定义&#xff1a; Mat imageROI; //方法一&#xff1a;通过Rect指定矩形区域 imageROIimage(Rect(500,250,logo.cols,logo.rows)) //方法二 指定感兴趣行或列的范围&#xff08;Ran…

vue --- mintUI中Swipe(轮播图)的使用

引入 // main.js // 导入包 import { Swipe, SwipeItem } from mint-ui// 注册 Vue.component(Swipe.name, Swipe); Vue.component(SwipeItem.name, SwipeItem);放在需要显示的位置 // HomeContainer.vue(首页 -> 组件) <template><div><!-- 轮播图区域 --…

前端换行显示,后端返回br

转载于:https://www.cnblogs.com/lml-lml/p/9597547.html

MySql随笔part3 表操作

一:什么是表 表(table): 表似一种结构化的文件,可用来存储某种特定类型的数据.表中的一条记录有对应的标题,标题称之为表的字段 二:创建表 1 create table table_name( 2 字段名1 类型[(宽度) 约束条件], 3 字段名2 类型[(宽度) 约束条件], 4 字段名3 类型[(宽度) 约束条件] 5 …

OPENCV-5 学习笔记

OPENCV-5 学习笔记 线性滤波 方框滤波——boxblur函数均值滤波&#xff08;邻域平均滤波&#xff09;——blur函数高斯滤波——GaussianBlur函数中值滤波——medianBlur函数双边滤波——bilateralFilter函数 关于滤波和模糊—–滤波可分低通滤波和高通滤波两种。而高斯滤波是…

node --- 监听文件变化(静态、动态、子进程)

静态版本:监听的文件名写死了 // watcher.js use strict const fs require(fs); fs.watch(target.txt, () > console.log(File changed!)); console.log(Now watching target.txt for changes...);命令行启动 node watcher.js动态版本:在命令行输入需要监听的文件名. pr…

redis学习总结

一、redis工作流程 1、把redis安装到Linux上 2、配置redis.conf文件 使之可以后台运行 3、根据项目需求添加相应的jar包 4、调用相应的api实现项目需求 二、redis相关知识 1、redis是缓存数据库&#xff0c;为了减少对关系型数据库的访问消耗&#xff0c;可以把常用的数据添加…

OPENCV-6 学习笔记

OPENCV-6 学习笔记 边缘检测 步骤&#xff1a; 滤波增强检测 canny算子—Canny 的目标是找到一个最优的边缘检测算法 评价标准&#xff1a; 1.低错误率: 标识出尽可能多的实际边缘&#xff0c;同时尽可能的减少噪声产生的误报。 2.高定位性: 标识出的边缘要与图像中的实…

es6 --- Promise封装读取文件操作

Promise: es6中为了解决回调地狱问题而产生的 Promise的参数 Promise的参数是一个函数.每个Promise在实例化时,都会立即执行参数里的函数 const p new Promise(()>{console.log(1); })// 解释了上面的第2条Promise参数的参数 Promise的参数(函数),默认有2个参数(resol…

匿名函数

匿名函数&#xff1a;lambda 函数 语法&#xff1a; lambda 参数1, 参数2 : 表达式 表达式即为返回值 例&#xff1a; result &#xff08;lambda x, y: xy)(1.2) print(result) 例2&#xff1a; newFunc lambda x,y : xy print(newFunc(1,2) 例3&#xff1a; result sorted…

hdu-6165(tarjan+topusort)

题意&#xff1a;一个有向图&#xff0c;无自环&#xff0c;无重边&#xff0c;让你判断这个图内的任意两点是否有路&#xff1b; 解题思路&#xff1a;首先&#xff0c;判断两个点是否可达一般用出入度来判断&#xff0c;如果在拓扑排序中同时有两个及以上入度同时为零的点&am…

OPENCV-7 学习笔记

OPENCV-7 学习笔记 转换图像尺寸 resize函数。这是最直接的方式&#xff0c;yrUp( )、pyrDown( )函数。即图像金字塔相关的两个函数&#xff0c;对图像进行向上采样&#xff0c;向下采样的操作。 图像金字塔 类似于金字塔的形状&#xff0c;将原始图像以金字塔形状的分辨率…

杂项:E-Learning

ylbtech-杂项&#xff1a;E-Learning1.返回顶部 1、E-Learning&#xff1a;英文全称为&#xff08;Electronic Learning&#xff09;&#xff0c;中文译作“数字&#xff08;化&#xff09;学习”、“电子&#xff08;化&#xff09;学习”、“网络&#xff08;化&#xff09;学…

css --- flex布局的应用(between)

between 想把发布时间放在左边,点击放在右边 页面结构如下: 可以看到发布时间和点击是在类 .mui-ellipsis 下.使用css3的 flex 布局中的: space-between .mui-ellipsis{display: flex;justify-content: space-between; }