我正在写一个ROS节点,其中我从另一个节点获取图像。我使用 cv_bridge 来使用imshow并显示图像。我想将图像保存到磁盘。我使用了imwrite并且可以保存它。但是当另一个节点发布另一个图像时,其覆盖到同一个文件。我希望每次图像出现时都将图像保存到不同的文件中。
这是我尝试的方式: -
char file[10];
cnt++; //each time an image comes increment cnt
sprintf(file,"Image %d",cnt); //different filename so it doesnt overwrite
imwrite(file,image);
我得到这样的错误: -
有什么建议吗?
答案 0 :(得分:3)
尝试明确指定扩展名:
sprintf(file,"Image %d.jpg",cnt);
imwrite(file,image);