c++ - 使用 printf 时 vector<Vec3b> 的格式说明符

标签 c++ c opencv

我想获取 buf 中的第二个像素并使用 printf 打印:

vector<Vec3b> buf;
/* code that fills buf , I used push_back */
printf("%WHAT", buf[1])

我可以像这样使用 cout 打印这些值:

    LineIterator it(img, Point(1,1), Point(20,20), 8);

    vector<Vec3b> buf;   

    for(int i=0; i<it.count; i++)
    {
    buf.push_back( Vec3b(*it) ); /* code that fills buf , I used push_back */
    it++;
    }
    cout << Mat(buf[1]) << endl;

但我只想使用 printf 来完成此操作。

cout 语句给了我三个值,每个值对应于 R、G 和 B。

我应该在 printf 中为 WHAT 放置什么?即这里的格式说明符是什么?

最佳答案

没有直接的方法可以做到这一点。 opencv 中有重载的 << 运算符,但没有 c 解决方案(你为什么要这个?)

你将不得不手动完成这一切:

for(size_t i=0; i<buf.size(); i++)
{
   Vec3b v = buf[i];
   printf("[%d %d %d] ", v[0], v[1], v[2] );
}
printf("\n");

关于c++ - 使用 printf 时 vector<Vec3b> 的格式说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24503189/

相关文章:

c++ - FLTK GUI 不显示 (Dev-C++)

c - GNU time 实用程序如何忽略管道符号并将命令行中剩下的所有内容作为一个 execve 参数?

python - 使用opencv python在游戏板上进行矩形检测

c++ - 已解决-Sublime Text for C++中的 “fatal error: opencv: no such file or directory”

python-3.x - python : Feature Matching + Homography to find Multiple Objects

c++ - 全局指针由优化器解析 - 但引用不是 - 为什么?

c++ - FLTK Hello World 字体异常

c++ - 如何在不知道底层类型的情况下从模板化父类取回值?

c - gethostbyname 问题

c - 有没有办法检查一个字符串是否可以是 C 中的 float ?