opencv错误如何解决??

Lion_go 2013-03-09 04:55:14
#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
//#include<iostream.h>
void main()
{
//int i=0;
int mode=CV_RETR_CCOMP; //提取轮廓的模式
int contoursNum=0; //提取轮廓的数目
CvScalar externalColor=CV_RGB(0,0,0);
CvScalar holeColor=CV_RGB(255,0,0);
CvMemStorage * storage=cvCreateMemStorage(0); //提取轮廓需要的储存容量 0为默认64KB
CvSeq * pcontour=0; //提取轮廓的序列指针
IplImage * pImg=NULL;
IplImage * pContourImg=NULL;
IplImage * src=cvLoadImage("d:li.jpg",-1);
pImg=cvCreateImage(cvGetSize(src),src->depth,1);
pContourImg=cvCreateImage(cvGetSize(pImg),IPL_DEPTH_8U,3);
cvCvtColor(src,pImg,CV_RGB2GRAY); //将图像转换为灰度
cvThreshold(pImg,pImg,180,255,CV_THRESH_BINARY);//二值化


//--------------查找轮廓----------------
mode=CV_RETR_LIST;
contoursNum=cvFindContours(pImg,storage,& pcontour,sizeof(CvContour),mode,CV_CHAIN_APPROX_NONE);
////cout<<contoursNum<<" "<<endl;
//--------------画轮廓----------------
for (;pcontour!=0;pcontour=pcontour->h_next)
{
holeColor=CV_RGB(rand()&255,rand()&255,rand()&255);
externalColor=CV_RGB(rand()&255,rand()&255,rand()&255);
cvDrawContours(pContourImg,pcontour,externalColor,holeColor,1,2,8);
}
// cvDrawContours(pContourImg,pcontour,externalColor,holeColor,0,2,8);
cvNamedWindow("src",CV_WINDOW_AUTOSIZE);
cvNamedWindow("pcontour",CV_WINDOW_AUTOSIZE);
cvShowImage("src",src);
cvShowImage("pcontour",pContourImg);
cvWaitKey(0);
//cvReleaseImage(&src);
cvReleaseImage(&pImg);
cvReleaseImage(&pContourImg);
}
ps:之前是没有问题的,可以有结果,突然就有异常了。不知道如何解决。下断点后,发现红色部分异常。感觉很奇怪。错误为,opencv error:bad argument<array should be cvmat or IplImage>
...全文
651 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
就是路径的问题
gcliscut 2013-07-15
  • 打赏
  • 举报
回复
我刚解决这个问题~如果你是使用摄像头获取图像的话,应该是摄像头没有打开的原因~如果是使用静态的图片的话应该是没有读进图片~总之你的cvmat or IplImage为空~
艾薇儿More 2013-07-15
  • 打赏
  • 举报
回复
src路径问题,错误显示bad参数,应给是cvmat或者iplimage,在opencv中路径应该是:D:/1.jpg,你少个/,还有你用的应该也是vc++6.0吧或者两个\\也可以
赵4老师 2013-05-20
  • 打赏
  • 举报
回复
逐步显示中间结果图象以及日志。
褚六 2013-05-19
  • 打赏
  • 举报
回复
应该是src图片没有正确读入 调试的时候运行到红色代码时看下src有值没? IplImage * src=cvLoadImage("d:li.jpg",-1); 路径没写错?
zhangyi_1030 2013-05-19
  • 打赏
  • 举报
回复
我也是这样的问题,请问找到解决方法了吗

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧