【发布时间】:2014-09-15 16:46:19
【问题描述】:
我正在拍摄一些图像并将它们切割成尺寸dimensionImagex dimensionImage,即 256x256:
Mat getKdimensionImage(String file, int dimension) {
Mat result = Mat::zeros(dimension, dimension, CV_8U);
Mat currentImage = imread(file, CV_LOAD_IMAGE_GRAYSCALE);
for (int i = 0; i < dimension; i++) {
for (int j = 0; j < dimension; j++) {
result.at<int>(i,j) = currentImage.at<int>(i,j);
}
}
return result;
}
然后,在我的 main 上,我正在加载 2 张图片:
Mat face1 = getKdimensionImage(path + "FACE/face1.jpg", dimensionImage);
Mat face2 = getKdimensionImage(path + "FACE/face2.jpg", dimensionImage);
但是当我开始加载 face2 时,我得到:
OpenCVtry(18811,0x7fff73568310) malloc: * 对象 0x10381d608 的错误:已释放对象的校验和不正确 - 对象可能在被释放后被修改。 * 在 malloc_error_break 中设置断点进行调试
对不起,我是 Java 开发人员,这有点烧我的脑子......
我的问题可能是什么?
非常感谢。
【问题讨论】:
-
您应该使用 CV_8UC1 而不仅仅是 CV_8U 吗?
-
是的!请您将其发布为答案吗?