Colour Conversion in OpenCV

来源:互联网 发布:美国东北大学知乎 编辑:程序博客网 时间:2024/05/13 09:39

问题

简单的RGB<—>HSV几乎花了整整一个下午

另外还有些编译错误:
VS命令行必须指定头文件目录,即 /I OpenCV_DIR/include/, 否则奇怪的错误:
error LNK2019: unresolved external symbol "private: char * __thiscall cv::String::allocate(unsigned int)" (?allocate@String@cv@@AAEPADI@Z) referenced in function "public: __thiscall cv::String::String(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0String@cv@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
cv::error
Fixing mixed STL implementation with OpenCV
Visual Studios 2013 - C++ Linker Error with openCV 3.0 Libs

参考链接

Convert a single color with cvtColor

BGR to HSV and back again

How to get value of specific pixel after converting to hsv?

需要注意的地方是:

  • cvtColor 函数,输入类型不一样,取值范围也是不一样的!
  • 以前都是[0,255] BGR–>HSV,转换出来的也是[0,180], [0,255], [0,255]。在计算直方图时range一般取[0,180],[0,255], [0,255]。
  • 注意 如果RGB 输入范围是[0 - 255], Hue 的范围则是[0 - 180]
  • 如果HSV输入是[0,360], [0,1],[0,1],RGB输出也是[0,1]
  • The conventional ranges for R, G, and B channel values are:
    0 to 255 for CV_8U images
    0 to 65535 for CV_16U images
    0 to 1 for CV_32F images
0 0
原创粉丝点击