openCV3+VS2017学习笔记(三)

示例2-10   打开笔记本摄像头并显示(在源码上做了一些修改)(P32)

#include "pch.h"

#include "opencv2/opencv.hpp"

#include "opencv2/highgui/highgui.hpp"

#include "opencv2/imgproc/imgproc.hpp"

using namespace cv;

int main() {

namedWindow("1", WINDOW_AUTOSIZE);

VideoCapture cap;

cap.open(0);/*跟前面打开视频文件一样,视频文件这里写的是文件地址,摄像头写的是摄像头编号

(如果只有一个摄像机连接,这个编号通常为0)*/

if (!cap.isOpened())//检验是否打开,没打开,则报错

{

std::cerr << "could not open capture." << std::endl;

return -1;

}

else

{

Mat frame;

while(1)

{

cap>> frame;

imshow("1", frame);

waitKey(30);

}

}

return 0;

}

代码中用到  return -1 和 return 0,便想提及一下该用法说明。

return语句用来结束循环,或返回一个函数的值。


1 return, 如果什么都不接的话,其实就是void类型函数的返回,返回后不再执行return后面的语句

如果函数执行成功返回0,不成功返回非0,一般情况下非0值常用-1来表示。

2 return 0:一般用在主函数结束时,表示程序正常终止,即告诉系统程序正常。

3 return -1::表示返回一个代数值,一般用在子函数结尾。表示程序异常终止,即告诉系统程序异常

4 return 1:与return -1相同。

---------------------

原文来源:https://blog.csdn.net/it_job/article/details/79132940



示例2-11 读取视频并将其转化为对数极坐标[1]视频显示并存储。

#include "pch.h"

#include "opencv2/opencv.hpp"

#include <iostream>

using namespace cv;

int main() {

namedWindow("1", WINDOW_AUTOSIZE);

namedWindow("2", WINDOW_AUTOSIZE);

VideoCapture cap("F:/test.avi");

double fps = cap.get(CAP_PROP_FPS);

Size size((int)cap.get(CAP_PROP_FRAME_WIDTH), (int)cap.get(CAP_PROP_FRAME_HEIGHT));

VideoWriter writer;

writer.open("F:/new.avi", CV_FOURCC('M', 'J', 'P', 'G'), fps, size);//参数说明(路径名称,编码方式(下面有详细说明[2]),帧率,大小)

cv::Mat logpolar_frame, rgb_frame;

for (;;) {

cap >> rgb_frame;

if (rgb_frame.empty()) break;

imshow("1", rgb_frame);

/*对数极坐标变换,参数说明(原图,新图,变换中心(这个在跟踪里要求很高),比例因子(设置原则是便于最感兴趣的特征能够存在于图像的大部分区域),参数插入方式)*/

logPolar(rgb_frame, logpolar_frame, Point2f(rgb_frame.cols*0.5f, rgb_frame.rows*0.5f), 30, INTER_LINEAR | WARP_FILL_OUTLIERS);

imshow("2", logpolar_frame);

writer << logpolar_frame;//写入文件

char c = waitKey(10);

if (c == 27) break;

}

cap.release();

}

[1]对数极坐标

       对数极坐标变换的灵感来源于人类视觉系统。图像旋转和尺度变化可以转化为对数极坐标中的平移和上下移动。可以应用在图像配准识别定位跟踪领域。注意,这种变化对图像的中心点要求严格。

相关链接

https://blog.csdn.net/carson2005/article/details/7185552 https://blog.csdn.net/zcg1942/article/details/80886999 https://blog.csdn.net/zcg1942/article/details/80936038                        http://www.docin.com/p-860354163.html(基于对数极坐标变换的图像匹配算法论文) 

[2]编码方式

       VideoWriter的第二个参数是视频编码方式,指明视频将以何种方式进行压缩。现在有非常多的编码器可以选择(完整版见下面的链接),但是选择的任何编码器必须确保可以在你的机器上使用。

https://blog.csdn.net/jellyli2091/article/details/62219678

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容

  • 从今天开始记录下学习openCV3+vs2017的过程吧,记录一些学习代码(大部分是书上的)和自己的理解,方便回顾...
    whisper330阅读 706评论 0 0
  • 接着上节 mutex,本节主要介绍atomic的内容,练习代码地址。本文参考http://www.cplusplu...
    jorion阅读 73,650评论 1 14
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,696评论 0 3
  • 我要像个傻子一样笑,笑这世间的所有,我已只剩下了笑,我所有的情感都以转化了笑,别人看过来指指点点,用他们的自我猜测...
    蒙语阅读 368评论 1 3
  • 本周测试裤兜语文教师端,解决测出来的问题。新增活动管理功能,游客登录以及游客登录后的权限管理功能。熟悉招生模块。 ...
    赵坪生阅读 212评论 0 0