概述
文章目录
- 前言
- 一、 函数解析
- 1、imread(读取图片)
- 2、imshow(显示图片)
- 二、示例
- 三、结果
- 四、官方教程
前言
最近心血来潮,想具体的去学习一下图像处理,所以报了知识星球的一个OpenCV研习社,将自己每天的学习,分享一下。写个 blog 加深一下知识。
一、 函数解析
1、imread(读取图片)
CV_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(显示图片)
CV_EXPORTS_W void imshow(const String& winname, InputArray mat);
参数一:需要显示在哪个窗口的名称
参数二:要显示的图像
功能:在指定的窗口中显示图像
二、示例
#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 4 学习之图像读取和显示所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复