读/写图像
imread("lena.jpg",cv::IMREAD_UNCHANGED)
imread读图像。
第一个参数,图像的路径名;
第二个参数(可选),加载图像类型,默认为cv::IMREAD_COLOR
cv::IMREAD_UNCHANGED:如果设置,当输入具有相应深度时,返回16位/32位图像,否则将其转换为8位
cv::IMREAD_COLOR:如果设置,他总是将图像转换为彩色图像(BGR,8位无符号)
cv::IMREAD_GRAY::如果设置,它总是将图像转换为灰度图像(8位无符号)
imwrite写图像
imwrite("lena.jpg",gray)
第一个参数:保存图像的路径以及想要的扩展文件名
第二个参数:将要保存的矩阵图像
显示图像
imshow("lena",color)
第一个参数是标题,第二个参数是图像矩阵
waitkey(0)
waitkey停止程序等待用户按键,参数为等待的毫秒数,如果设置为0,则函数一直等待
访问像素
int myRow=color.rows-1
int myCol=color.cols-1
Vec3b pixel=color.at<Vec3b>(myRow,myCol)
读取视频和摄像头
VideoCapture cap;
if(videoFile!="")
cap.open(videoFile);
else
cap.open(0);
if(!cap.isopened())
return -1;
namedWindow("Video",1);
for(;;)
{
Mat frame;
cap >> frame;
if(frame)
imshow("Video",frame);
if(waitkey(30)>=0) break;
}
cap.release();
基本数据存储
FileStorage fs("test.yml",FileStorage::WRITE);
int fps=5;
Mat m1=Mat::eye(2,3,CV_32F)
fs<<"fps"<<fps;
fs<<"m1"<<m1;
fs.release();
FileStorage("test.yml",FileStorage::READ);
int fps;
fs["fps"]>>fps;
Mat m1;
FS["m1"]>>m1;
部分基本对象类型
Vec
Vec<double,19> myVec;
Scalar 4元素的Vec
Vec,Sclar可使用[]访问
Point,Point3
typedef Point_<int> Point2i;
Size
Size s(100,100);
Rect
RotatedRect
RotatedRect(const Point2f ¢er,const Size2f& size,float angle);