码迷,mamicode.com
首页 > 其他好文 > 详细

毛星云博客第三讲学习

时间:2016-11-05 23:08:46      阅读:364      评论:0      收藏:0      [点我收藏+]

标签:高度   内存分配   tail   name   创建   std   read   ext   array   

http://blog.csdn.net/poem_qianmo/article/details/20537737

 

使用opencv的命名空间,标配开头

#include <opencv2/core/core.hpp>  
#include<opencv2/highgui/highgui.hpp>  
   
using namespace cv;  

  

存储图像

  Mat型存储图像数据

 

读取图像

Mat imread(const string& filename, intflags=1 );

  intflags=1代表三通道彩色图像 =0代表灰度图

 

创建窗口

void namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE ); 

  winname 窗口名称 flags可以控制窗口是否改变,默认是根据图片大小

显示

void imshow(const string& winname, InputArray mat);

  InputArray可以理解为Mat

暂停

waitkey(int N)

  等待N毫秒时间 然后按任意按键继续

保存到文件

bool imwrite(const string& filename,InputArray img, const vector<int>& params=vector<int>() );  

 

练习

#include <opencv2/core/core.hpp>
#include <highgui/highgui.hpp>

using namespace cv;
using namespace std;

int main() {
	Mat image = imread("I:\\Pictures\\414非主流的小公举\\414非主流的小公举\\1.jpg");
	namedWindow("小公举");
	imshow("小公举", image);
	waitKey(0);
	imwrite(".\\test.jpg", image);
	return 0;
}

  

后记:

在opencv2.0以前,只有cv,比如cvmat,IplImage,cvloadimage等等,而CvMat是一个Struct,每次调用之前必须进行内存分配,CvMat *a = cvCreateMat(),
用完之后进行内存释放。opencv2.0以后新增C++接口的 Mat矩阵,cv::Mat是一个类(Class),使用是不用分配内存,用完也不用释放,相对应的读取图片为imread等等。
所以现在不用cv开头了

  1. //选择roi,rect的四个参数分别是(x,y)坐标,第三个参数是宽度,第四个参数是高度  
  2.     Mat roi(mat,Rect(0,0,2,1));  
  3.     cout<<roi<<endl;  

毛星云博客第三讲学习

标签:高度   内存分配   tail   name   创建   std   read   ext   array   

原文地址:http://www.cnblogs.com/ajmd/p/6034124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!