OPENCV入门教程七:颜色空间转换

  • 原创
  • |
  • 浏览:1090
  • |
  • 更新:

学习把RGB(红绿蓝)空间的图像转化为其它空间的图像。 将RGB转化为HSV(色调(H),饱和度(S),明度(V)) 将RGB转化为Lab(颜色模型 (Lab) 基于人对颜色的感觉,L表示明度(Luminosity),a表示从洋红色至绿色的范围,b表示从黄色至蓝色的范围) 将RGB转化为YCrCb(其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色)

工具/原料

  • visual studio 2015
  • opencv2.4.13

方法/步骤

  1. 1

    打开VS2015选择文件,然后新建项目,选择新建一个Win32控制台应用程序,并选择空项目,在源文件中添加一个名为opencvdemo的CPP文件 

    OPENCV入门教程七:颜色空间转换
  2. 2

    在该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);

    }

    OPENCV入门教程七:颜色空间转换
  3. 2
    本页面未经授权抓取自百度经验
  4. 3

    点击视图按钮,选择解决方案资源管理器 ,在解决方案中右键单击项目名称,然后选择属性

    在属性页中选择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 这两个东西

    OPENCV入门教程七:颜色空间转换
  5. 4

    如果执行失败则在如图中的×86改为×64,其左边的设置为“Debug”

    OPENCV入门教程七:颜色空间转换
  6. 5

    转换结果如下图

    OPENCV入门教程七:颜色空间转换
    END

注意事项

  • opencv的正确配置
  • 正确使用cvtColor()函数
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部