ZhtSunday 2016-07-09 07:22 采纳率: 100%
浏览 1819
已采纳

存储图片 使用sprintf函数修改存储路径时出错

我使用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);
}

  • 写回答

1条回答 默认 最新

  • jamon_tan 2016-07-09 07:58
    关注

    SavePath 没有初始化,也没有分配内存 是一个野指针,不能直接使用

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条