OPENCV入门教程七:颜色空间转换
- 原创
- |
- 浏览:1090
- |
- 更新:
学习把RGB(红绿蓝)空间的图像转化为其它空间的图像。 将RGB转化为HSV(色调(H),饱和度(S),明度(V)) 将RGB转化为Lab(颜色模型 (Lab) 基于人对颜色的感觉,L表示明度(Luminosity),a表示从洋红色至绿色的范围,b表示从黄色至蓝色的范围) 将RGB转化为YCrCb(其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色)
方法/步骤
打开VS2015选择文件,然后新建项目,选择新建一个Win32控制台应用程序,并选择空项目,在源文件中添加一个名为opencvdemo的CPP文件
在该cpp文件中输入一下代码
#include "cv.h" // OpenCV 文件头
#include "highgui.h"
#include "cvaux.h"
#include "cxcore.h"
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc.hpp"
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
Mat dst_img;
string imageName("C:\\Users\\lidabao\\Desktop\\Lena.bmp"); // 图片在电脑中的绝对地址
Mat bgr_img = imread(imageName.c_str(), IMREAD_COLOR);//读入图片数据
if (bgr_img.empty())
return -1;
namedWindow("image", 0);
imshow("image", bgr_img);
// BGR -> HSV
cvtColor(bgr_img, dst_img, CV_BGR2HSV);
namedWindow("HSV image", 0);
imshow("HSV image", dst_img);
// BGR -> Lab
cvtColor(bgr_img, dst_img, CV_BGR2Lab);
namedWindow("Lab image", 0);
imshow("Lab image", dst_img);
// BGR -> YCrCb
cvtColor(bgr_img, dst_img, CV_BGR2YCrCb);
namedWindow("YCrCb image", 0);
imshow("YCrCb image", dst_img);
waitKey(0);
}
- 本页面未经授权抓取自百度经验
点击视图按钮,选择解决方案资源管理器 ,在解决方案中右键单击项目名称,然后选择属性
在属性页中选择VC++目录
在包含目录中添加 D:\opencv\build\include D:\opencv\build\include\opencv D:\opencv\build\include\opencv2 这三个文件夹 在库目录中添加 D:\opencv\build\x64\vc12\lib D:\opencv\build\x64\vc12\staticlib 这两个文件夹
在属性页中选择链接器,在链接器中点击输入,在附加依赖项中添加 opencv_ts300d.lib opencv_world300d.lib 这两个东西
如果执行失败则在如图中的×86改为×64,其左边的设置为“Debug”
转换结果如下图
END









