OpenCV2:幼儿园篇 第六章 图像转换

一.简介

 

二.例子

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>

int main()
{

	// 图像源读取及判断
	cv::Mat srcImage = cv::imread("a.jpg");
	if (!srcImage.data)
		return -1;
	cv::imshow("srcImage", srcImage);
	cv::Mat image_hsv, image_H, image_S, image_V, image_col;
	 
	// HSV颜色空间转换
	cv::cvtColor(srcImage, image_hsv, CV_BGR2HSV);
	cv::imshow("image_hsv", image_hsv);

	// YCrCb颜色空间转换
	cv::cvtColor(srcImage, image_col, CV_BGR2YCrCb);
	cv::imshow("image_YCrCb", image_col);

	// HLS颜色空间转换
	cv::cvtColor(srcImage, image_col, CV_BGR2HLS);
	cv::imshow("image_HLS", image_hsv);

	// Lab颜色空间转换
	cv::cvtColor(srcImage, image_col, CV_BGR2Lab);
	cv::imshow("image_Lab", image_col);

	// 分离HSV各个通道
	std::vector<cv::Mat> hsvChannels;
	cv::split(image_hsv, hsvChannels);

	// 0通道为H分量,1通道为S分量,2通道为V分量
	image_H = hsvChannels[0];
	image_S = hsvChannels[1];
	image_V = hsvChannels[2];

	// 分别显示各通道图像
	cv::imshow("image_H", image_H);
	cv::imshow("image_S", image_S);
	cv::imshow("image_V", image_V);

	cv::waitKey(0);
	return 0;

}

 

posted @ 2019-06-25 17:22  言午丶  阅读(235)  评论(0编辑  收藏  举报