我正在处理图像处理项目,并且遇到系统崩溃。这是一个不断出现的错误:CV :: Mat导致运行时错误 - OpenCV错误 - 断言失败
OpenCV Error: Assertion failed (dims <= 2 && data && (unsigned)i0 < (unsigned)si ze.p[0] && (unsigned)(i1*DataType<_Tp>::channels) < (unsigned)(size.p[1]*channel s()) && ((((sizeof(size_t)<<28)|0x8442211) >> ((DataType<_Tp>::depth) & ((1 << 3 ) - 1))*4) & 15) == elemSize1()) in cv::Mat::at, file d:\libs\opencv-249\build\i nclude\opencv2\core\mat.hpp, line 537
我能够找到下面的代码位使问题
samples = (src.size(), src.type());
imshow ("source" , src);
for(int y = 0; y < src.rows; y++)
for(int x = 0; x < src.cols; x++)
for(int z = 0; z < 3; z++){
samples.at<float>((y + (x*src.rows)), z) = src.at<Vec3b>(y,x)[z];}
samples
是在头文件中声明的垫目标这个班。
我也提到了这个link但即使错误是相同的导致崩溃的代码是不一样的我的。但尴尬的是,这段确切的代码在另一个函数中工作正常,但是当我尝试在属于某个类的方法中包含相同的代码时,它会发生此错误。
我无言以对。谁能帮我吗?
请告诉我src.type()?为什么当它们都具有相同类型时,将样本作为“浮动”和src作为“Vec3b”访问? –