【发布时间】:2014-03-10 19:37:56
【问题描述】:
我遇到了这个'Vec3b green(0,255,0), blue (255,0,0);'在某些代码中,我正在转换为另一种语言。我是 C++ OpenCV 的新手,想知道它在文档中的位置,我到处搜索却找不到它。我还 grepped 了整个 OpenCV 目录,发现这是最接近它的定义
'typedef Vec3b RGB;'
在 /home/w/Documents/opencv-master/modules/imgproc/test/test_cvtyuv.cpp 文件中
我对 RGB 进行了搜索,但也找不到关于它的定义,尽管它有很多输出,我可能错过了一些东西。我正在编写一个 C 包装器,这就是我需要知道的原因,到目前为止,我有这个来包装上面的 'Vec3b green(0,255,0)':
Vec3b cv_create_Vec3b(const char* color, int val1, int val2, int val3) {
return new Vec3b color (val1, val2, val3);
}
但是得到这个错误:
opencv_generated.cpp:8:22: error: expected ‘;’ before ‘color’
return new Vec3b color (val1, val2, val3);
^
opencv_generated.cpp:8:45: error: ‘color’ cannot be used as a function
return new Vec3b color (val1, val2, val3);
首先,我可以使用帮助来了解如何键入 "color" 。它只需要一个变量,当它运行时输入的任何内容都是“绿色”或“蓝色”(C++ 的新手)..其次,如果有人可以指出我或告诉我有关它的信息或向我展示关于它的声明所以我有足够的信息来写我的包装我会很感激。
谢谢 ^
【问题讨论】:
-
您的问题并非特定于
Vec3b,而是特定于 C++。花一些时间学习该语言的基础知识是值得的。 -
@juanchopanza 请查看对 Arshia001 的最新评论
-
您的代码在很多方面都被我们的语法弄乱了,以至于您的函数的预期语义不清楚。
-
@ juanchopanza 请在这里查看我的新问题stackoverflow.com/questions/22311634/…,非常感谢您这么快回复我=)