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;
}
OPENCV-2 学习笔记相关推荐
- opencv进阶学习笔记3:像素运算和图像亮度对比度调节
基础版传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版目录: python+opencv进阶版学习笔记目录(适合有一定基础) 像素运算 要求两张图大小,以及格式(np ...
- 【计算机视觉】opencv入门学习笔记Part.1
[计算机视觉]opencv入门学习笔记Part.1 1 前言 1.1 opencv概述(摘取自百度百科) 1.2 图像概念引入 1.3 安装opencv库 2 图像基本操作 2.1 图像的读取 2.2 ...
- 【OpenCV入门学习笔记2】:Mat对象
b站:https://www.bilibili.com/video/BV1uW411d7Wf?p=5 我在b站的学习笔记和实验代码的整理如下: 示例代码: Matdemo //------------ ...
- opencv进阶学习笔记14:分水岭算法 实现图像分割
基础版学习笔记目录: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 分水岭算法原理 分水岭算法 ...
- opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版
基础版学习笔记: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 基础版形态学: opencv学 ...
- opencv进阶学习笔记12:轮廓发现和对象测量
基础版笔记目录: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 轮廓发现 1轮廓发现介绍 基础 ...
- opencv进阶学习笔记11:cannny边缘检测,直线检测,圆检测
基础版笔记传送门 python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) cannny边缘检测 基础版边 ...
- opencv进阶学习笔记10:图像金字塔和图像梯度
基础版笔记传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 图像金字塔 变小 变大 原理 ...
- opencv进阶学习笔记8:模板匹配
基础版笔记传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 模板匹配原理 模板匹配(Te ...
- opencv进阶学习笔记7:直方图,直方图均衡化,直方图比较,直方图反向投影
基础版传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 直方图基础讲解: opencv学 ...
最新文章
- 腾讯大数据平台,要“没人管”了
- Cannot unwrap to requested type [javax.sql.DataSource]
- boost::remove相关的测试程序
- (21)FPGA面试技能提升篇(JESD204B接口)
- 个性潮流的设计PSD分层模板
- 内网DNS地址自己定
- 剑指offer面试题31. 栈的压入、弹出序列(链表)
- python 中定义的函数 如何在main中调用_在python中,在定义类时自动运行函数的方法?_class_酷徒编程知识库...
- 2017省夏令营Day7
- bzoj5056:OI游戏
- 2021-08-04 Mysql自连接
- 遭遇nat.exe,socks.exe,USP10.dll,BOSC.dll,kb080387.CNT,~ctwxw.txt等2
- 模式识别与机器学习---绪论
- 大数据智能营销笔记本人工智能下引入新的交互方式
- 工控行业什么时候用c语言,工控工程师需要掌握的知识
- css mix-blend,CSS混合模式mix-blend-mode/background-blend-mode简介
- 微信小程序--优购商城项目(4)
- 单向散列函数 (Hash)
- XPS文件转换为PDF不再愁!全新XPS/EPS文档处理神器Aspose.Page来啦!
- java lamda 常用写法 List篇
热门文章
- jquery上传图片_文件上传三种方式
- 关闭文件夹或打印机共享服务器,局域网共享打印机好用,但文件夹不能访问
- php框架m方法详细,Thinkphp框架中D方法与M方法的区别是什么
- linux爬365租房没有数据,新手求助,LINUX下安装11G不能MOUNT数据库
- Unity 2017 Game Optimization 读书笔记 Dynamic Graphics (6)
- Unity SRP自定义渲染管线 -- 5.Directional Shadows
- GPU Gems1 - 2 水刻蚀的渲染
- 4.边缘光照的描边shader
- python -lambda表达式的用法
- mockjs中的方法(三)