#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)试试??
改为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)试试??
改为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
我也遇上类似问题,查了好久 关键是指针全存在数组里面,老是中间的时候出这个错误