opencv常用的基础小工程
【摘要】
文章出自
本文中将列出opencv需常用的最小工程,以方便今后做测试用。
工程环境为vs2010+opencv2.3.1
一、opencv读取图片并显示出来:
#include "stdafx.h" #include <opencv2/highgui/highgui.hpp> using name...
本文中将列出opencv需常用的最小工程,以方便今后做测试用。
工程环境为vs2010+opencv2.3.1
一、opencv读取图片并显示出来:
-
#include "stdafx.h"
-
#include <opencv2/highgui/highgui.hpp>
-
-
using namespace cv;
-
-
int main(int argc,unsigned char* argv[])
-
{
-
Mat img_src;
-
for (;;)
-
{
-
img_src=imread("lena.jpg");
-
imshow("lena_show",img_src);
-
waitKey(30);
-
}
-
return 0;
-
}
二、opencv读取avi文件并显示出来:
注意有些avi格式的视频是读不出来的。
-
#include "stdafx.h"
-
#include <opencv2/highgui/highgui.hpp>
-
-
using namespace cv;
-
-
int main(int argc,unsigned char* argv[])
-
{
-
Mat img_src;
-
VideoCapture vido_file("tree.avi");
-
for (;;)
-
{
-
vido_file >>img_src;
-
imshow("video_src",img_src);//可以事先不用新建一个窗口
-
char c=(char)waitKey(47);
-
if (c==27)
-
{
-
break;
-
}
-
}
-
return 0;
-
}
三、opencv驱动摄像头并显示出来:
-
#include "stdafx.h"
-
#include <opencv2/highgui/highgui.hpp>
-
-
using namespace cv;
-
-
int main(int argc,unsigned char* argv[])
-
{
-
Mat img_src;
-
VideoCapture cam(0);
-
for (;;)
-
{
-
cam >>img_src;
-
imshow("camera",img_src);//可以事先不用新建一个窗口
-
char c=(char)waitKey(30);
-
if (c==27)
-
{
-
break;
-
}
-
}
-
return 0;
-
}
四、opencv打开摄像头并对摄像头内视频进行canny边缘检测。
以下的环境改为:opencv2.4.2+vs2010
-
// cam_test.cpp : 定义控制台应用程序的入口点。
-
//
-
-
#include "stdafx.h"
-
#include <opencv2/core/core.hpp>
-
#include <opencv2/highgui/highgui.hpp>
-
#include <opencv2/imgproc/imgproc.hpp>
-
#include <iostream>
-
-
#pragma comment( lib, "opencv_core242.lib" )
-
#pragma comment( lib, "opencv_highgui242.lib" )
-
#pragma comment( lib, "opencv_imgproc242.lib" )
-
-
using namespace cv;
-
using namespace std;
-
-
int main( int argc, const char **argv )
-
{
-
-
VideoCapture cap(0); // open the default camera
-
if(!cap.isOpened()) // check if we succeeded
-
return -1;
-
Mat edges;
-
namedWindow("edges",1);
-
for(;;)
-
{
-
Mat frame;
-
cap >> frame; // get a new frame from camera
-
cvtColor(frame, edges, CV_BGR2GRAY);
-
GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
-
Canny(edges, edges, 0, 30, 3);
-
imshow("edges", edges);
-
if(waitKey(30) >= 0) break;
-
}
-
// the camera will be deinitialized automatically in VideoCapture destructor
-
return 0;
-
}
五、矩阵方式 resize图像缩放代码
-
double scale=0.5; //设置缩放倍数
-
string imageurl = "F:/opencv/samples/cpp/baboon.jpg";
-
Mat image =imread(imageurl);Â
-
//缩放
-
Size dsize = Size(image.cols*scale,image.rows*scale);
-
Mat image2 = Mat(dsize,CV_32S);
-
resize(image, image2,dsize);
首先定义scale变量,图片要缩放的倍数。
然后用Mat函数创建image矩阵,并加载图像。
Size函数是设置图像框架大小
resize函数调整图片大小。
文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。
原文链接:panda1234lee.blog.csdn.net/article/details/8925737
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)