我目前正在编写我的第一个C++程序,并且到目前为止,即使它不完整,我也想在处理所有编译器错误后尝试一些测试运行。我将在以下链接中提供大部分代码: http://pastie.org/8196032 http://pastie.org/8196025 由于我只允许发布2个链接,因此ImageComparison的标题缺失,这不是很重要,我认为。 stdafx.h包含必需的opencv和std库。 我跑了GDB,得到了这样的结果:使用OpenCV的分段错误
Program received signal SIGSEGV, Segmentation fault.
0x000000000040655c in cv::Mat::release()()
(gdb) bt
>#0 0x000000000040655c in cv::Mat::release()()
>#1 0x0000000000406410 in cv::Mat::operator=(cv::Mat const&)()
>#2 0x00000000004052ed in ImageComparison::LoadImages()()
>#3 0x000000000040518e in ImageComparison::DoImCo()()
#4 0x0000000000405019 in main()
这并没有给我任何线索,什么是错在这里。 我很抱歉,如果我的问题只是转储,但我明白任何建议。
你应该张贴,可以用来重现你的问题,不是所有的最短的一段代码。 – stijn
当然,但我认为我的代码非常简单,易于理解,并且在大多数情况下人们会要求提供更多的代码 – Auberotte
在这里可能不需要:LoadImages函数的第一眼我会看到char * buffer;当图像没有元素时,ItoS(i,buffer);'还有'images [i-1]'。其中任何一个都有可能是99.9%的罪魁祸首。这个ic C++使用std :: string。 – stijn