开始用Visual studio安装使用opencv。
建议创建头文件,声明所有函数和include,并命名
/*
Read an image OPENCV
author: Chunying
date: 2016/06/13
*/
#ifndef KELE_H
#define KELE_H
#include <opencv2\core\core.hpp> // cv::Mat
#include <opencv2\highgui\highgui.hpp> // cv::imshow
#include <iostream>
using namespace cv;
using namespace std;
#endif
然后在源文件,直接引用头文件,定义函数,cpp与h文件名字对应
读图像,显示图像
#include "kele.h"
int main(int argc, char ** argv) {
// read an image
char * filename = "../../data/chessbord.png";
//char* filename = argv[1];
Mat img;
img = imread(filename,IMREAD_COLOR);
//copy an image
Mat B(img);
Mat C = img;
// show an image
namedWindow("img",WINDOW_NORMAL); //可以自动调节窗口
imshow("img", img);
waitKey(0);
// if not image
if (argc != 2 || !img.data) {
cout << "no img\n";
return -1;
}
// convert to gray image
Mat gray;
cvtColor(img, gray, COLOR_BGR2GRAY);
imwrite("../../data/gray.png", gray);
return 0;
}
argc是参数数量
argv是参数值,可以通过cout打出参数,一般argv[0]为程序本身,第二个参数可以文件名或其他
argv[0] kele.exe
argv[1] ….\img1.png
最小的数据类型是 char(1 byte 或者 8 bits, values from 0 to 255),更精细的颜色 ,对于各个颜色组成(G,B, R) 4 byte = 32 bit) or double (8 byte = 64 bit)