visual stdio 2022+opencv处理图像Mat数据,编译可通过,执行时报错: 0x00007FF67FEF74C9 处(位于 Task1.exe 中)引发的异常: 0xC0000005: 写入位置 0x0000000000000000 时发生访问冲突。
遇到这种问题,要考虑指针或数组是否越界。比如定义指针或数组时,是否初始化了数组或指针指向对象的大小?
我这里的问题是:定义结果图像时:Mat dst;
未分配大小就使用了指针 :uchar* p_dst = dst.ptr<uchar>(i);
在定义图像时,把大小也定义了,就没事了:Mat dst(height, width, CV_8UC1);