opencv图像转换与保存

源码:

quickopencv.h文件

#include <opencv2\opencv.hpp>

using namespace cv;

class QuickDemo
{
public:
	void colorSpace_Demo(Mat &image);
};

quickdemo.cpp文件

#include <quickopencv.h>

void QuickDemo::colorSpace_Demo(Mat &image)
{
	Mat gray, hsv;

	cvtColor(image, hsv, COLOR_BGR2HSV);
	cvtColor(image, gray, COLOR_BGR2GRAY);
	imshow("hsv",hsv);
	imshow("gray", gray);
	imwrite("F:/OpenCV/material/hsv.png",hsv);
	imwrite("F:/OpenCV/material/gray.png", gray);
}

main.cpp

#include <opencv2\opencv.hpp>
#include <iostream>
#include <quickopencv.h>

using namespace cv;
using namespace std;

int main(int argc, char ** argv)
{
	Mat src = imread("F:/OpenCV/material/lena.jpg",IMREAD_UNCHANGED);
	if (src.empty()) { printf("Error!"); return -1; }

	namedWindow("input", WINDOW_FREERATIO);
	imshow("input", src);

	QuickDemo qd;
	qd.colorSpace_Demo(src);

	waitKey(0);
	destroyAllWindows();
	return 0;
}

HSV颜色模型:H–色调,S–饱和度,V–明度

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

CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );
@功能:将图像从一个颜色空间转换为另一个颜色空间。
该函数将输入图像从一个颜色空间转换为另一个颜色空间。 在转换的情况下从RGB颜色空间,通道的顺序应该明确指定(RGB或BGR)。 请注意OpenCV中的默认颜色格式通常被称为RGB,但它实际上是BGR字节是相反的)。 所以一个标准(24位)彩色图像的第一个字节将是一个8位的蓝色组件时,第二个字节为绿色,第三个字节为红色。
@src:输入图像:8位无符号,16位无符号(CV_16UC…) ,或者单精度浮点。
@dst:DST输出与src相同大小和深度的图像。
@code:颜色空间转换代码(参见# colorconverversioncodes)
COLOR_BGR2GRAY – 6 彩色到灰度
COLOR_GRAY2BGR – 8 灰度到彩色
COLOR_BGR2HSV – 40 BGR到HSV
COLOR_HSV2BGR – 54 HSV到BGR
@dstCn :dstCn目标图像中的通道数; 如果该参数为0,则表示通道是自动从SRC和代码派生出来的。

2、图像保存函数:imwrite()

CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,
const std::vector& params = std::vector());
@功能:将图像保存到指定文件。
@filename:文件名称
@img:(Mat或Mat的矢量)图像或需要保存的图像

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值