我使用opencv处理图像,把一个图中的数字识别并且分别复制了出来。想要把这些图分别存储起来。每次存储的时候文件名都要改变,所以我想用sprintf写每一次存储的路径(文中加粗的部分)。运行的时候发现会被中断,但是如果把 ** sprintf(SavePath,"C:\picture\img%d.jpg",num);**改成**sprintf(SavePath,"C:\%d.jpg",num);**这样短一些,就运行正常。
有没有高手可以给我解答一下?我是一个小菜鸟
int num=0;//第num部分图像
char NameNo; //第num部分图像窗口名
char *SavePath;
for(; Outlineseq!=NULL;Outlineseq=Outlineseq->h_next)
{
CvRect RectBound=cvBoundingRect(Outlineseq,0);
cvRectangle(BinaryImage,cvPoint(RectBound.x, RectBound.y), cvPoint(RectBound.x+RectBound.width, RectBound.y+RectBound.height), CV_RGB(255,255,255),0);
//分割图像
IplImage *ImgNo=cvCreateImage(cvSize(RectBound.width,RectBound.height),IPL_DEPTH_8U,1);
cvSetImageROI(BinaryImage,RectBound);
cvCopy(BinaryImage,ImgNo);
cvResetImageROI(BinaryImage);
sprintf(NameNo,"No.%d",++num);
cvNamedWindow(NameNo,CV_WINDOW_AUTOSIZE);
cvShowImage(NameNo,ImgNo);
//保存文件路径
* sprintf(SavePath,"C:\picture\img%d.jpg",num);**
//printf("%s",SavePath);
//cvSaveImage(SavePath,ImgNo);
cvReleaseImage(&ImgNo);
}
存储图片 使用sprintf函数修改存储路径时出错
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- jamon_tan 2016-07-09 07:58关注
SavePath 没有初始化,也没有分配内存 是一个野指针,不能直接使用
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 MATLAB代码补全插值
- ¥15 Typegoose 中如何使用 arrayFilters 筛选并更新深度嵌套的子文档数组信息
- ¥15 前后端分离的学习疑问?
- ¥15 stata实证代码答疑
- ¥50 husky+jaco2实现在gazebo与rviz中联合仿真
- ¥15 dpabi预处理报错:Error using y_ExtractROISignal (line 251)
- ¥15 在虚拟机中配置flume,无法将slave1节点的文件采集到master节点中
- ¥15 husky+kinova jaco2 仿真
- ¥15 zigbee终端设备入网失败
- ¥15 金融监管系统怎么对7+4机构进行监管的