我尝试使用opencv 3.0.0编译我的代码(使用以前的opencv版本)
cvtColor(img,img,CV_RGB2BGR);
并得到编译错误
在此范围内未声明'CV_RGB2BGR'
该选项在文档中也不存在
如何使用新版本获得相同的功能(RGB2BGR)?
答案 0 :(得分:14)
使用常量cv :: COLOR_RGB2BGR而不是CV_RGB2BGR。
它适用于其他转换,只需将 CV _ 更改为 cv :: COLOR _ 。
刚检查过它对我有用。
答案 1 :(得分:1)
也许你有命名空间问题?
枚举定义为here,无论如何,它与CV_BGR2RGB
完全相同 - 它只是混合了通道。您也可以直接使用mixChannels()
。
答案 2 :(得分:0)
小心,OpenCV 3是新的东西,很可能它已经改变了一些宏,还有功能,特别是功能。更多它不是一个稳定的版本,这意味着它仍然在开发中。我已经看到宏有一些其他名称,比如COLOR_RGB2BGR
。 CV_RGB2BGR
似乎位于types_c.h