0x1000e450(cxcore100.dll)处未处理的异常:0xc0000005:读取位置0xccccccc时发生访问冲突

时间:2021-06-19 10:38:06
用ROI增强像素
#include <cv.h>
#include <highgui.h>
// ch3_ex3_12 image_name x y width height add# 
int main(int argc, char** argv)
{

IplImage* src;
cvNamedWindow("Example3_12_pre", CV_WINDOW_AUTOSIZE);
cvNamedWindow("Example3_12_post", CV_WINDOW_AUTOSIZE); 
if( argc == 7 && ((src=cvLoadImage("F:/bo.png",1)) != 0 ))
{
int x = atoi("2.45");
int y = atoi("2.45");
int width = atoi("10.56");
int height = atoi("5.78");
int add = atoi("150");
cvShowImage( "Example3_12_pre", src);
cvSetImageROI(src, cvRect(x,y,width,height));
cvAddS(src, cvScalar(add),src);
cvResetImageROI(src);
cvShowImage( "Example3_12_post",src);
cvWaitKey(0);
}
cvReleaseImage( &src );
cvDestroyWindow("Example3_12_pre");
cvDestroyWindow("Example3_12_post"); 
return 0;
}
拷的书上的程序,检查好几遍,没发现不对啊?请高手明示!

7 个解决方案

#1


IplImage* src 指针使用之前请先判断是否为空,检查文件及文件路径是否正确!
改为src=cvLoadImage("F://bo.png",1)试试??

#2


Debug下打开call stack窗口,看看运行到哪个函数抛出的异常。。。

#3


IplImage* src 指针没有初始化为NULL,导致(src=cvLoadImage("F:/bo.png",1)) != 0 )的判断没有实际意。义!

#4


cvLoadInage看起来是分配内存的。
不知道你用的这个库需要初始化什么的吗。找一下是否需要其他配置。

#5


指针初始化错误或访问越界~~~
访问到了内核分区的地址了~~~
检查程序中的指针处理~~

#6


果断,类似问题还没解决,opencv_core230d.dll未处理异常。求分数,我也要发帖。

#7


我也遇上类似问题,查了好久 关键是指针全存在数组里面,老是中间的时候出这个错误

#1


IplImage* src 指针使用之前请先判断是否为空,检查文件及文件路径是否正确!
改为src=cvLoadImage("F://bo.png",1)试试??

#2


Debug下打开call stack窗口,看看运行到哪个函数抛出的异常。。。

#3


IplImage* src 指针没有初始化为NULL,导致(src=cvLoadImage("F:/bo.png",1)) != 0 )的判断没有实际意。义!

#4


cvLoadInage看起来是分配内存的。
不知道你用的这个库需要初始化什么的吗。找一下是否需要其他配置。

#5


指针初始化错误或访问越界~~~
访问到了内核分区的地址了~~~
检查程序中的指针处理~~

#6


果断,类似问题还没解决,opencv_core230d.dll未处理异常。求分数,我也要发帖。

#7


我也遇上类似问题,查了好久 关键是指针全存在数组里面,老是中间的时候出这个错误