用两个窗口进行对比

#include "stdafx.h"
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include "cv.h"
using namespace cv;
using namespace std; int g_slider_position = 0, temp;
CvCapture *g_captrue = NULL;
void onTrackbarSlide(int pos)
{
cvSetCaptureProperty(g_captrue, CV_CAP_PROP_POS_FRAMES,
pos);
temp = g_slider_position;
} int main(int argc, char **argv)
{
cvNamedWindow("sample-out", CV_WINDOW_AUTOSIZE);
//创建输出处理后视频的窗口
cvNamedWindow("sample", CV_WINDOW_AUTOSIZE);
//创建初始视频窗口
g_captrue = cvCreateFileCapture("sample.avi");
//Cvcapture结构体赋值
int frames = (int)cvGetCaptureProperty(g_captrue,
CV_CAP_PROP_FRAME_COUNT);
//获取视频总帧数
if (frames != 0)///若视频存在即帧数不为0则创建滚动条
{
cvCreateTrackbar("Position", "sample",
&g_slider_position, frames, onTrackbarSlide);
}
IplImage *frame;//创建图像指针
while (1)
{
frame = cvQueryFrame(g_captrue);//读取一帧
if (!frame)//读完退出
break;
cvShowImage("sample", frame);//显示在sample窗口中
IplImage* out = cvCreateImage(cvGetSize(frame),
IPL_DEPTH_8U, 3);
//创建视频地址并为其开辟空间。
cvSmooth(frame, out, CV_GAUSSIAN, 3, 3);//对每一帧高斯模糊
cvShowImage("sample-out", out);//视频输出到sample-out窗口中
char c = cvWaitKey(30);//每一帧间隔30ms
cvSetTrackbarPos("Position", "sample", temp++);//滚动条随动
if (c == 27)
break;
}
cvReleaseCapture(&g_captrue);//释放指针
cvDestroyWindow("sample");//删除sample初始视频窗口
cvDestroyWindow("sample-out");//删除sample-out处理后的视频窗口
return 0;
}

Opencv学习笔记——视频高斯模糊并分别输出的更多相关文章

  1. OpenCV学习笔记——视频的边缘检测

    使用Canny算子进行边缘检测,并分开输出到三个窗口中,再给每一个窗口添加文字 代码: #include"cv.h" #include"highgui.h" / ...

  2. Opencv学习笔记——视频进度条的随动

    1. CvCapture结构体: CvCapture是一个结构体,用来保存图像捕获的信息,就像一种数据类型(如int,char等)只是存放的内容不一样,在OpenCv中,它最大的作用就是处理视频时(程 ...

  3. OpenCV 学习笔记 07 目标检测与识别

    目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...

  4. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  5. OpenCV学习笔记3

    OpenCV学习笔记3 图像平滑(低通滤波) 使用低通滤波器可以达到图像模糊的目的.这对与去除噪音很有帮助.其实就是去除图像中的高频成分(比如:噪音,边界).所以边界也会被模糊一点.(当然,也有一些模 ...

  6. opencv学习笔记(七)SVM+HOG

    opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...

  7. paper 93:OpenCV学习笔记大集锦

    整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...

  8. (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...

  9. OpenCV 学习笔记(模板匹配)

    OpenCV 学习笔记(模板匹配) 模板匹配是在一幅图像中寻找一个特定目标的方法之一.这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否"相似",当相似度足够 ...

随机推荐

  1. Visual Studio 2005 移植 (札记之一)【zhuan】

    Visual Studio 2005 移植 - WINVER,warning C4996, error LINK1104 一.WINVER  Compile result:  WINVER not d ...

  2. php通过类名查找这个类所在的路径(即实际引用的是哪个类)

    实际上就是应用了类的反射机制 class a{ public $a; protected $b; private $c; } $func = new ReflectionClass('a'); //所 ...

  3. 将从SQL2008 r2里备份的数据库还原到SQL2008中

    从标题可以看出这是未解决上一篇遗留问题写的,现在我也不知道这个可不可以成功,方法似乎查到了一种,具体怎样还不清楚:而且,我想说的是“我踩雷了”. 这篇的主角是“Database Publishing ...

  4. navicate连接mysql

    1. 打开navicate,选择连接 2. 编辑连接属性 编辑完成之后,连接成功.

  5. iOS 查看包架构信息

    lipo -info libUMSocial_Sdk_4.2.a 查看包架构信息

  6. Gym 100342F Move to Front (树状数组动态维护和查询)

    用树状数组动态和查询修改排名. 树状数组可以很方便地查询前缀和,那么可以利用这一特点,记录一个点在树状数组里最后一次出现的位置, 查询出这个位置,就可以知道这个点的排名了.更改这个点的排名的时候只要把 ...

  7. 校内选拔I题题解 构造题 Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) ——D

    http://codeforces.com/contest/574/problem/D Bear and Blocks time limit per test 1 second memory limi ...

  8. js 判断是什么浏览器、是否为谷歌浏览器

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http ...

  9. flask模板语言

    由于Django的模板引擎和Flask中的Jinja2模板引擎有很多一样的地方,所以我将一样的地方总结到了独立的文章中 https://www.cnblogs.com/kuxingseng95/art ...

  10. POJ 3080 Blue Jeans、POJ 3461 Oulipo——KMP应用

    题目:POJ3080 http://poj.org/problem?id=3080 题意:对于输入的文本串,输出最长的公共子串,如果长度相同,输出字典序最小的. 这题数据量很小,用暴力也是16ms,用 ...