MAT 格式操作

来源:互联网 发布:ubuntu gnome dock 编辑:程序博客网 时间:2024/06/06 01:37
转载来自:http://blog.sina.com.cn/s/blog_6949fede0100xjlb.html
1、获取图像的大小:
cv::Mat image = cv::imread("img.jpg");
image.size().width 与 image.size().height 就是图像的宽与高。

2、检查图像中的信息:
if (!image.data)
// error occurred ...

3、反转图像内容:
cv::flip(image, result, 1);
其中result也是cv::Mat类型的。最后一个参数如果是正,则水平反转;为零,则竖直反转;为负,都反转。

4、保存图像内容:
cv::imwrite("output.bmp", result);

1、、Mat则是一个class,默认时候,新建的Mat出来的大小是0,可以通过这种方式来初始化:
cv::Mat ima(240, 320, CV_8U, cv::Scalar(100));

其中,CV_8U指的是每个像素所占的内存是1byte,其中里面的U表示Unsigned,注意因为没有指定3个颜色通道,所以它是灰度图像。

另外还可以取类似于下面几个的值,例如:CV_16UC3,表示三种颜色通道,并且每个像素占2byte;CV_16SC3,里面的S就是表示Signed。另外还可以例如:CV_32F,这里的F就表示是浮点型数据。

Mat的拷贝不能简单地用“=”符号来实现,必须用成员函数copyTo()来实现:
image.copyTo(result);
0 0
原创粉丝点击