目标
- 加载一幅图像:cv::imread()
- 将RGB图转化成灰度图像:cv::cvtColor()
- 将图像存入磁盘: cv::imwrite()
- 显示图像:cv::namedWindows与cv::imshow()
函数说明
- cv::imread()
- 返回值:将图像转成Mat对象 返回
- 第一个参数:图像名(可加路径)
- 第二个参数(常见有三种):
IMREAD_UNCHANGED :加载原图
IMREAD_GRAYSCALE :转化成单通道的灰度图像
IMREAD_COLOR :将原图转化成BGR顺序的彩色图像
- cv::cvtColor()
- Mat对象,源图像
- Mat对象,目的图像
- 转化方式:COLOR_BGR2HLS、COLOR_BGR2GRAY 、COLOR_BGR2HSV等
- cv::imwrite():保存一张图像
- 第一个参数:文件路径,根据扩展名来保存格式
- 第二个参数:图像 对象
- cv::namedWindows与cv::imshow()
-
namedWindows:创建一个窗口,由OpenCV自动创建销毁(如果你真的想销毁可以调用 cv::destroyWindow or cv::destroyAllWindows ),你无需关心,如果已经有了相同名字的窗口,那么调用没有任何动作。
(1)第一个参数:传一个 窗口名即可
(2)第二个参数:WINDOW_NORMAL(可以调节窗口大小) 、WINDOW_AUTOSIZE (默认,用户不能改变窗口的大小) -
cv::imshow()
(1) 参数1:需要显示的窗口名
(2) 参数2:显示的Mat对象
演示代码
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(void)
{
Mat image;
image = imread("../lena.jpeg");
namedWindow("display_image",WINDOW_AUTOSIZE);
imshow("display_image",image);
Mat image_png;
cvtColor(image,image_png,COLOR_BGR2GRAY);
namedWindow("display_image_png",WINDOW_AUTOSIZE);
imshow("display_image_png",image_png);
imwrite("../lena.png",image_png);
waitKey();
return 0;
}
结果:
lena.jpeg
lena.png