OpenCV 学习笔记-day2(色彩空间转换函数cvtColar()实现,与IMwrite图像保存函数IMwrite())

发布时间:2023-10-04 12:00

OpenCV 学习笔记

  • day2-色彩空间转换函数cvtColar()实现,与图像保存函数IMwrite
    • 函数:
      • cvtColor() 颜色空间转换函数
      • imwrite() 保存图像
    • 代码:

day2-色彩空间转换函数cvtColar()实现,与图像保存函数IMwrite

知识补充:三种常见色彩空间——RGB、GRAY、HSV颜色识别(详情点击链接)

函数:

  1. cvtColor() 颜色空间转换函数

void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );
可以实现RGB颜色向HSV,HSI等颜色空间转换。也可以转换为灰度图。

参数 说明
src 输入图像,即要进行颜色空间变换的原图像,可以是Mat类
dst 输出图像,即进行颜色空间变换后存储图像,也可以Mat类
code 转换的代码或标识,即在此确定将什么制式的图片转换成什么制式的图片
dstCn 默认为0,目标图像通道数,如果取值为0,则由src和code决定

例1

cvtColor(image, hsv, COLOR_BGR2HSV);//Mat image, hsv;RGB转HSV
cvtColor(image, gray, COLOR_BGR2GRAY);//HSV转Gray灰度
  1. imwrite() 保存图像

bool imwrite( const String& filename, InputArray img,const std::vector& params = std::vector());

参数 说明
filename 文件名(要保存的位置,注意:你要保存图片为哪种格式,就带什么后缀)
img 要保存的图像
params 表示为特定格式保存的参数编码 其中JPEG:表示图像的质量(取值 0-100);PNG:表示压缩级别(取值 0-9);PPM,PGM,PBM:表示文件以二进制还是纯文本方式存储 取值 0或 1

例2

imwrite(\"...\\\\HSV\\\\1.png\",hsv);//Mat hsv imwrite图像保存 
// 将hsv保存到...\\\\HSV\\\\1.png路径 保存格式为png

代码:

quickopencv.h

#pragma once

#include 

#include 

using namespace cv;
//定义类
class QuickDemo{
public:
	void colorSpace_Demo(Mat &image);//色彩空间转换函数2021-12-24
};

QuickDemo.cpp

#include 

#include 

#include

#include 

void QuickDemo::colorSpace_Demo(Mat &image)
{
	//cvtColor 色彩空间转换函数
	Mat gray, hsv;//灰度 hsv色彩空间
	cvtColor(image, hsv, COLOR_BGR2HSV);//HSV颜色空间:H S V 三个通道, H:颜色0-180 ,S:颜色0-255 ,V:亮度 0-255
	cvtColor(image, gray, COLOR_BGR2GRAY);//cvtColor色彩空间转换函数
	imshow(\"HSV\", hsv);
	imshow(\"gray\",gray);
	imwrite(\"...\\\\HSV\\\\1.png\",hsv);//imwrite图像保存
	imwrite(\"...\\\\gray\\\\1.png\",gray);
}

OpencvTest.cpp

#include 
#include 
#include 
#include 

using namespace cv;
using namespace std;

int main()
{
	Mat scr = imread(\"...\\\\image\\\\1.jpg\");//打开一张图
	if (!scr.data == 1)//判空
		return -1;
	namedWindow(\"窗口1\", WINDOW_NORMAL);//创建 WINDOW_FREERATIO窗口
	imshow(\"窗口1\",scr);//在创建的窗口显示原图像
	QuickDemo qd;
	qd.colorSpace_Demo(scr);//色彩转换 转换成灰度图像和
	waitKey(0);
	return 0;
}

RGB原始图像
\"OpenCV
HSV图像

Gray灰度图像

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号