Opencv入门——图像的加载、显示、修改、保存

开发环境:Opencv-4.0 VS2017

1、加载图像(cv::imread)

  1. imread()功能是加载图像文件成为一个Mat对象,第一个参数表示图像的文件名称,第二个参数表示加载的图象的类型
  2. IMERAD_UNCHANGED(<0)表示加载原图,不做任何改变
  3. IMREAD_GRAYSCALE(0)表示把原图作为灰度图加载进来
  4. IMREAD_CLOOR(>0)表示把原图作为RGB图像加载进来
  5. 注意:Opencv支持JPG、PNG、TIFF等常见格式图像文件加载

2、显示图像 (cv::namedWindos 与cv::imshow)

  1. nameWindow()功能是创建一个Opencv窗口,它是由Opencv自动创建与释放的,新版本无需用destroyWindow()销毁
  2. 常见用法nameWindow("WindowTitle", WINDOW_AUTOSIZE)
  3. WINDOW_AUTOSIZE会自动根据图像的大小,显示窗口大小,不能认为改变窗口大小

3、修改图像 (cv::cvtColor)

  1. imshow()根据窗口名称显示图像到指定的窗口上去,第一个参数是窗口的名称,第二个是Mat对象
  2. cvtColor()的功能是将图像从一个色彩空间转换到另一个色彩空间,具有三个参数
  3. cvtColor(image,gray_image,COLOR_BG2GRAY) 括号中的三个参数分别表示:原图,色彩空间转换后的图像,目标色彩空间

4、保存图像(cv::imwrite)

  1. 保存图像文件到指定目录路径,如imwrite("C:\\test.jpg")或者imwrite("C:/test.jpg")
  2. 仅可以保存8位、16位的PNG、JPG、Tiff文件格式而且是单通道或者三通道的BGR的图像
  3. 保存PNG格式的时候可以保存透明通道的图片,同时可以指定压缩参数

代码如下:

#include<iostream>
#include<opencv.hpp>

using namespace cv;
using namespace std;

int main()
{
	Mat img, img_gray;
	img = imread("H:\\1.jpg", IMREAD_UNCHANGED);//读入原图
	img_gray = imread("H:\\1.jpg", IMREAD_GRAYSCALE);//读入灰度图

	if (img.empty())  //检测是否成功读入图片
	{
		printf("could load the image...");
		return -1;
	}

	namedWindow("原图", WINDOW_AUTOSIZE);
	imshow("原图", img);

	namedWindow("灰度图", WINDOW_AUTOSIZE);
	imshow("灰度图", img_gray);
	imwrite("H:\\GRAY_IMG.jpg", img_gray);

	Mat BGR2HLS_img; 
	cvtColor(img, BGR2HLS_img, COLOR_BGR2HLS);//色彩格式转换
	imshow("BGR2HLS_img",BGR2HLS_img);

        //保存不同格式的图片
	imwrite("H:\\BGR2HLS_IMG.jpg", BGR2HLS_img);
	imwrite("H:\\BGR2HLS_IMG.png", BGR2HLS_img);
	imwrite("H:\\BGR2HLS_IMG.tif", BGR2HLS_img);

	waitKey(0);
	return 0;
}

贴几张效果图

很丑吧,哈哈哈

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值