文章目录
- 前言
- 一、 函数解析
- 1、imread(读取图片)
- 2、imshow(显示图片)
- 二、示例
- 三、结果
- 四、官方教程
前言
最近心血来潮,想具体的去学习一下图像处理,所以报了知识星球的一个OpenCV研习社,将自己每天的学习,分享一下。写个 blog 加深一下知识。
一、 函数解析
1、imread(读取图片)
复制代码
1
2
3
4
5
6
7CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR ); 参数一:加载的文件路径 参数二:读取图片的样式(省略的话 默认 IMREAD_COLOR) 功能:从文件加载图像
属性 | 数值 | 样式 |
---|---|---|
IMREAD_UNCHANGED | -1 | 按原样返回加载的图像(使用Alpha通道,否则会被裁剪) |
IMREAD_GRAYSCALE | 0 | 始终将图像转换为单通道灰度图像 |
IMREAD_COLOR | 1 | 将图像转换为3通道BGR彩色图像 |
IMREAD_ANYDEPTH | 2 | 当输入具有相应深度时返回16位/ 32位图像,否则将其转换为8位 |
IMREAD_ANYCOLOR | 4 | 将以任何可能的颜色格式读取图像 |
IMREAD_LOAD_GDAL | 8 | 使用gdal驱动程序加载图像 |
IMREAD_REDUCED_GRAYSCALE_2 | 16 | 将图像转换为单通道灰度图像,图像尺寸减小1/2 |
IMREAD_REDUCED_COLOR_2 | 17 | 将图像转换为3通道BGR彩色图像,图像尺寸减小1/2 |
IMREAD_REDUCED_GRAYSCALE_4 | 32 | 将图像转换为单通道灰度图像,图像大小减少1/4。 |
IMREAD_REDUCED_COLOR_4 | 33 | 将图像转换为3通道BGR彩色图像,图像尺寸减小1/4 |
IMREAD_REDUCED_GRAYSCALE_8 | 64 | 将图像转换为单通道灰度图像,图像尺寸减小1/8 |
IMREAD_REDUCED_COLOR_8 | 65 | 将图像转换为3通道BGR彩色图像,图像尺寸减小1/8 |
IMREAD_IGNORE_ORIENTATION | 128 | 如果设置,不能根据EXIF的方向标志旋转图像 |
2、imshow(显示图片)
复制代码
1
2
3
4
5
6
7CV_EXPORTS_W void imshow(const String& winname, InputArray mat); 参数一:需要显示在哪个窗口的名称 参数二:要显示的图像 功能:在指定的窗口中显示图像
二、示例
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; //OpenCV标准库 using namespace std; //C++标准程序库中的所有标识符都被定义于一个名为std的namespace中 int main(int argc, char* argv[]) { //这里的路径一定要加双斜杠 \ 或者 单斜杠 /,不然读不出来图片, 为转义字符 Mat src = imread("F:/Cvimage/test.png", IMREAD_GRAYSCALE); //判断一下,看是否读取到图片 if (src.empty()) { printf("could not load image... n"); return -1; } //创建一个窗口,窗口不能改变大小,大小由加载的图片决定 namedWindow("input", WINDOW_AUTOSIZE); //将图片显示在窗口上(窗口名称为 input) imshow("input", src); //等待用户操作,设为 0 则会一直等待 waitKey(0); return 0; }
三、结果
女神镇楼!
原图:
四、官方教程
传送门:官方教程 ---- imread
传送门:官方教程 ---- imshow
最后
以上就是虚拟水壶最近收集整理的关于(1)OpenCV 4 学习之图像读取和显示的全部内容,更多相关(1)OpenCV内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复