OpenCV4 计算机视觉实战 CH2

读/写图像

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 &center,const Size2f& size,float angle);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值