【发布时间】:2016-02-21 04:03:14
【问题描述】:
我正在处理一个图像处理项目,但我遇到了系统崩溃。这是不断弹出的错误:
OpenCV 错误:断言失败 (dims ::channels) > ((DataType<_tp>::depth) & ((1
我发现是下面这段代码造成了问题
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 是一个 Mat 对象,在该类的头文件中声明。
我也提到了这个link,但即使错误相同,导致崩溃的代码也与我的不同。但尴尬的是,这段确切的代码在另一个函数中工作正常,但是当我尝试在属于某个类的方法中包含相同的代码时,就会出现这个错误。
我一无所知。谁能帮我吗?
【问题讨论】:
-
什么是 src.type()?当样本都具有相同的类型时,为什么将样本访问为“floats”而将 src 访问为“Vec3b”?