• 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;
    
    }
    
  • 相关阅读:
    原生JS 碰撞检测
    sdw
    无题
    什么是递归?递归大讲义
    C#中常用的经典文件操作方法
    rpm包时遇到Header V3 DSA signature: NOKEY时解决办法
    Linux vim命令
    Linux yum命令详解
    visual studio 2013 快捷键大全
    D_S 线性表的顺序表示和实现
  • 原文地址:https://www.cnblogs.com/k5bg/p/11084027.html
Copyright © 2020-2023  润新知