我正在从事与人脸识别相关的项目。为了使我的程序正常工作,每个图像应满足img->widthStep = 3 * img->width
条件。
我正在尝试在数据库中的每个图像大小为250x250的代码。但是数据库的宽度步长为752,因此上述条件不满足。 widthstep的功能是访问像素(http://opencv-users.1802565.n2.nabble.com/What-is-widthstep-td2679559.html)。
我可以在不影响图像其他参数的情况下将widthstep参数更改为750吗?
否则还有其他方法可以实现zimg->widthStep = 3 * img->widthz
条件吗?
我尝试将250x250复制到260x260图像,如下所示
Mat img1, img2=Mat::zeros(Size(260,260),CV_8UC3);
img1 = imread(ch);
img1.copyTo(img2.colRange(1,250).rowRange(1,250));
OpenCV Error: Assertion failed
(!fixedSize() || ((Mat*)obj)->size.operator()() =
= Size(cols, rows)) in unknown function, file D:\opencv2.4.5\opencv\modules\core
\src\matrix.cpp, line 1372
最佳答案
https://stackoverflow.com/questions/23858908/