我想获取,让我们,说出buf中的第二个像素并使用printf进行打印:
vector<Vec3b> buf;
/* code that fills buf , I used push_back */
printf("%WHAT", buf[1])
Run Code Online (Sandbox Code Playgroud)
我可以使用像这样的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;
Run Code Online (Sandbox Code Playgroud)
但我只是想用printf来做这件事.
cout语句给出了三个值,每个值对应于R,G和B.
我应该在我的printf中放置什么?即这里的格式说明符是什么?
没有直接的方法可以做到这一点.在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");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
464 次 |
| 最近记录: |