0x01336cec 处最可能的异常: 0xC0000005: 读取位置 0x20741ee5 时发生访问冲突

时间:2023-01-09 22:42:35
程序如下:
   
#include <highgui.h>   
#include <cv.h>
#include <math.h>; 
using namespace cv;

//-----------------------------------【main( )函数】--------------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始
//-----------------------------------------------------------------------------------------------
int main( )
{   
// 载入原图
Mat inputImage;
Mat Image,Imagelog,inputImagelog,dst,A,dst1;
inputImage= cv::imread("1.jpg");
GaussianBlur( inputImage,Image, Size(99,99), 99, 99,4 );
log(Image,Imagelog);
log(inputImage,inputImagelog);
subtract(inputImagelog,Imagelog,dst);
exp(dst,dst1);
imshow("效果图",dst1);  
waitKey(0);  
}  
 设置过断点,问题应该是出在 log(Image,Imagelog); 这句上。我不知道怎么解决。求大神帮我看看。谢谢啦!

4 个解决方案

#1


崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。

代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

#2


头文件都没有

#3


先注释掉出问题的语句。

#4


很正常的调试方法
1、定位调用的函数的头文件是否包含,你可以右键函数定义看下实现的源文件。
2、查看传的参数是否正确。
3、最后注释掉对应函数是否正常。

#1


崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。

代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

#2


头文件都没有

#3


先注释掉出问题的语句。

#4


很正常的调试方法
1、定位调用的函数的头文件是否包含,你可以右键函数定义看下实现的源文件。
2、查看传的参数是否正确。
3、最后注释掉对应函数是否正常。