O p e n C v 3. x 加 载 、 修 改 、 保 存 图 像 OpenCv3.x加载、修改、保存图像 OpenCv3.x加载、修改、保存图像


  • 加载图像(cv::imread)
  • 修改图像(cv::cvtColor)
  • 保存图像(cv::imwrite)

1.加载图像(用cv::imread )

  • imread功能是加载图像文件成为一个Mat对象
  • 其中第一个参数表示图像文件名称
  • 第二个参数,表示加载的图像是什么类型,支持常见的三个参数值
  • IMREAD UNCHANGED===>(<0)表示加载原图,不做任何改变
  • IMREAD GRAYSCALE===>(0)表示把原图作为灰度图像加载进来
  • IMREAD_COLOR===>(>0)表示把原图作为RGB图像加载进

IMREAD UNCHANGED===>(<0)表示加载原图,不做任何改变

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;

int main(int argc, char** argv) {
	Mat src = imread("E:/cat.jpg",-1);

	if (src.empty()) {
		printf("image is empty!!!");
		return -1;
	}

	imshow("image", src);
	waitKey(0);
	return 0;
}

OpenCv3.x加载、修改、保存图像_灰度图像

IMREAD GRAYSCALE===>(0)表示把原图作为灰度图像加载进来

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;

int main(int argc, char** argv) {
	Mat src = imread("E:/cat.jpg",0);

	if (src.empty()) {
		printf("image is empty!!!");
		return -1;
	}

	imshow("image", src);
	waitKey(0);
	return 0;
}

OpenCv3.x加载、修改、保存图像_灰度图像_02

IMREAD_COLOR===>(>0)表示把原图作为RGB图像加载进

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;

int main(int argc, char** argv) {
	Mat src = imread("E:/cat.jpg",1);

	if (src.empty()) {
		printf("image is empty!!!");
		return -1;
	}

	imshow("image", src);
	waitKey(0);
	return 0;
}

OpenCv3.x加载、修改、保存图像_加载_03

2.转换图像色彩空间(cv:cvtColor)

cvtColor的功能是把图像从一个彩色空间转换到另外一个色彩空间,有三个参数
第一个参数表示源图像
第二参数表示色彩空间转换之后的图像
第三个参数表示源和目标色彩空间如:COLOR_BGR2HLS.COLOR_BGR2GRAY等

cvtColor( image, gray_image, COLOR BGR2GRAY );