OpenCV学习笔记(32)图像载入、显示、保存、变换灰度图 总结
来源:互联网 发布:java中string大小 编辑:程序博客网 时间:2024/09/21 08:16
转载:http://www.cnblogs.com/ggYYa/p/5655819.html
图像载入、显示、保存函数:
1 图像载入函数:imread() Mat imread(const string& filename, int flags=1);const string&类型的filename为载入图像的路径(绝对路径和相对路径)
flags是int类型的变量,flags>0,返回一个3通道的彩色图像;
flags = 0,返回灰度图像;
flags < 0,返回包含Alpha通道的加载图像。
flags默认值为1,可以省略对其赋值。
例如:Mat srcImage = imread(‘1.jpg’);
2 图像显示函数:imshow() void imshow(const string& winname, InputArray mat);
Const string&类型的winname为需要显示的窗口名称;
InputArray类型的mat,填需要显示的图像。
例如:imshow(‘图’,srcImage);
3 Mat类型是用于保存图像以及其他矩阵数据的数据结构,默认尺寸为0,也可以初始化尺寸。InputArray/outputArray在opnecv中和Mat类似都是一种数据格式,而很多时候,遇到函数原型中的InputArray/outputArray类型,可以把它简单的当做Mat类型。
4 输出图像到文件:imwrite() bool imwrite(const string& filename,InputArray img, const vector<int> & params=vector<int> () );
const string& filename表示填写需要的文件名,需带上后缀,如“1.jpg”;
InputArray img表示要保存的图像数据;
const vector<int> & 类型的params,其默认值为vector<int> (),需要填写时有:
1.JPEG格式图片,参数为0-100,表示图像质量,默认为95;
2.PNG格式图片,参数为0-9,表示压缩级别,高值则表示更小尺寸和压缩时间更长;
3.PPM,PGM,PBM格式时,表示二进制格式标志,参数0或1,默认为1。
例如:imwrite(‘123.jpg’,dstImage);
基础图像容器Mat
5 使用Mat() 构造函数
Mat M(2,2,CV_8UC3,Scalar(0,0,255));表示创建2行2列,CV_8UC3表示使用8位的unsigned char型,每个像素由三个元素组成的三通道。另外,Scalar是个short型的向量,能使用指定的定制化来初始化矩阵,还可以表示颜色。
常用数据结构和函数
6 点表示:Point
用法:Point point;
point.x = 10;
point.y = 8;
或者:Point point = point(10,8); 都表示为有x=10和y=8定位的2D点。
7 颜色的表示:Scalar
Scalar(a,b,c) 表示定义的RGB值为:红色分量为c,绿色分量为b,蓝色分量为a。这里取决于opnecv和matlab不同储存三通道颜色方式,matlab为RGB顺序,opnecv为BGR,也可以理解为两者相反。
8 矩形表示:Rect
Rect类的成员变量有x,y,width,height表示左上角点的坐标和矩形宽和高。其成员函数有:
Size()返回值为Size(尺寸大小),area()返回矩形的面积,contains(Point)判断点是否在矩形内,inside(Rect)判断矩形是否在该矩形内,tl()返回左上角点坐标,br()返回右下角点坐标。
Rect rect = rect1 & rect2; 两矩形交集
Rect rect = rect1 | tect2; 两矩形并集
Rect rectShift = rect + point; 矩形平移
Rect rectScale = rect + size; 矩形缩放
9 颜色空间转换:cvtColor()
其中RGB和Gray转换有:Opnecv2版本的CV_RGB2GRAY,CV_GRAY2RGB
Opencv3版本的COLOR_RGB2GRAY,COLOR_GRAY2RGB
RGB和HSV转换有:Opnecv2版本的CV_RGB2HSV,CV_BGR2HSV,CV_HSV2RGB,CV_HSV2BGR
Opencv3版本的COLOR_RGB2HSV,COLOR_BGR2HSV,COLOR_HSV2RGB,COLOR_HSV2BGR
即对于颜色转换,Opnecv2的CV_前缀的宏命名规范被Opnecv3中的COLOR_式的宏命名前缀所取代,另外,Opnecv中默认的图片通道存储顺序是BGR。
10 综合例子:
#include <opnecv2/opencv.hpp> using namespace cv; int main() { Mat srcImage = imread(“1.jpg”); Mat dstImage; cvtColor(srcImage,dstImage, COLOR_BGR2GRAY); imwrite(“图1.jpg”,srcImage); imshow(“原图”,srcImage); imshow(“变换图”,dstImage); waitKey(0); return 0; }
阅读全文
0 0
- OpenCV学习笔记(32)图像载入、显示、保存、变换灰度图 总结
- opencv学习笔记2——载入,显示,复制,旋转,保存图像及灰度图
- opencv学习笔记 一 载入、显示和保存图像
- OpenCV--图像的载入-显示-保存
- Opencv学习手册(四)--- 图像灰度变换
- OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并
- 【OpenCV学习笔记 003】图像的载入、显示和输出
- opencv学习笔记----浅析图像的载入,显示和输出
- opencv学习笔记(十一)——图像的载入,显示和输出到文件
- OpenCV学习笔记(一)图像的载入,显示和输出
- OpenCV学习笔记(5)图像的载入,显示和输出
- 笔记(一):opencv(图像载入显示输出)
- 【OpenCV学习笔记】【函数学习】十一(读入图像﹑显示图像和保存图像)
- opencv学习(1)图像的载入、显示与输出
- OpenCV学习笔记(基于OpenCV 2.4)二:图像的加载显示及简单变换
- OpenCv图像载入显示
- OpenCV Python 图像的载入、显示和保存
- Opencv HighGUI函数_载入,保存,显示图像
- ubuntu 下查看caj文件
- 使用pthread-win32工程编译静态库
- VBA 弹框选择文件路径
- 循环语句
- POJ2478 Farey Sequence
- OpenCV学习笔记(32)图像载入、显示、保存、变换灰度图 总结
- 新华三面试总结(二)
- 2017年10月30日提高组T1 数论
- 剑指offer——面试题47:不用加减乘除做加法
- 常用模板1
- PAT考试乙级1010(C语言实现)
- jvm(四):垃圾收集器初探
- 软件测试基础—易用性测试
- 【软考】纠错7