首页 > 代码库 > 毛星云博客第三讲学习
毛星云博客第三讲学习
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开头了
- //选择roi,rect的四个参数分别是(x,y)坐标,第三个参数是宽度,第四个参数是高度
- Mat roi(mat,Rect(0,0,2,1));
- cout<<roi<<endl;
毛星云博客第三讲学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。