opencv(c++)图像的灰度转换

opencv(c++)图像的灰度转换

quickopencv.h
c++ 复制代码
#pragma once
#include <opencv2/opencv.hpp>
using namespace cv;
class QuickDemo 
{
public:
	void colorSpace_Demo(Mat& image);
};
quickopencv.cpp
c++ 复制代码
#include "quickopencv.h"

// QuickDemo类中的颜色空间演示函数
// 此函数将输入图像转换为HSV和灰度图像,并显示及保存结果
void QuickDemo::colorSpace_Demo(Mat& image)
{
	Mat gray, hsv;
    //cvtColor - 用于颜色空间转换,如将BGR图像转换为HSV或灰度图像。
	cvtColor(image, hsv, COLOR_BGR2HSV);//COLOR_BGR2HSV是将BGR图像转换为HSV空间
	cvtColor(image, gray, COLOR_BGR2GRAY);//COLOR_BGR2GRAY是将BGR图像转换为灰度图像
	imshow("HSV", hsv);
	imshow("灰度", gray);
	imwrite("D:/opencv_img/hsv.jpg", hsv);
	imwrite("D:/opencv_img/gray.jpg", gray);
}

main.cpp

c++ 复制代码
#include<opencv2/opencv.hpp>
#include"quickopencv.h"
#include<iostream>

// 主函数,程序的入口点
using namespace cv;
using namespace std;

int main()
{
	Mat src = imread("D:/123.jpg"); // 读取指定路径的图片
	if (src.empty())
	{
		cout << "Could not open or find the image" << endl; // 如果图片无法打开或找不到,输出错误信息
		return -1;
	}
	namedWindow("src", WINDOW_FREERATIO); // 创建一个窗口用于显示图片
	imshow("src", src); // 在窗口中显示读取的图片
	QuickDemo qd; // 创建一个QuickDemo类的对象
	qd.colorSpace_Demo(src); // 调用colorSpace_Demo方法处理图片的色彩空间

	waitKey(0); // 等待用户按键
	destroyAllWindows(); // 销毁所有创建的窗口
	return 0; // 程序正常结束
}

stroyAllWindows(); // 销毁所有创建的窗口

return 0; // 程序正常结束

}

复制代码
最后会将图片使用imwrite()存储到指定位置
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/00e10907906d4631945da2ec1efe9e6f.png)
相关推荐
田里的水稻7 小时前
FA_CNN卷积神经网络七---优化器PyTorch
人工智能·pytorch·深度学习·神经网络·cnn
智能直播8 小时前
RK3518:1.5G 内存 + 8G 存储,如何跑起硬件编解码、Web、AI 识别、绿幕特效
前端·人工智能·5g
努力实干8 小时前
面向对象设计原则——C++
开发语言·c++·数码相机
大模型真好玩8 小时前
初试短视频生成:豆包将我梦中的场景画出来了~
人工智能·agent·deepseek
梦想出海-Phoebe8 小时前
AI Agent能实现自主复制吗?Anthropic研究揭示模型部署与IoT设备安全问题
人工智能·物联网·安全
指针向南9 小时前
PDF转长图用什么?3种方法实测(2026)
图像处理·人工智能·计算机视觉·pdf
郝学胜-神的一滴9 小时前
AI 编程智能体 09:零门槛调用教程
人工智能·数据分析·自动化·numpy·pandas·量化投资
商业看点解说9 小时前
支持私有化部署的 AI 助手有哪些?把“私有化“拆成四层,排除一类常被错放的产品
大数据·人工智能
清华kenny9 小时前
安徽晓得养HIS系统适合哪类健康机构升级使用
大数据·人工智能·安徽晓得养
kyriewen9 小时前
我抽查了 6 万个 Skills:前排没几个真货
人工智能·程序员·ai编程