1
我试图采用imcrop的图像样本,但我有问题。我的代码的下一部分是尝试访问修补程序中的像素,但我得到一个错误:尝试访问修补程序(1,1);尝试访问修补程序(1,1);尝试访问修补程序索引超出范围,因为尺寸(贴片)= [0,0]Matlab imcrop返回一个图像大小为零
所以我增加,
disp(size(patch))
显然贴剂的尺寸是0 0,但我不理解为什么是这种情况。基于对有关imcrop堆栈溢出的其他问题,我也试过
patch = imcrop(sample, [x y x+patchsize-1 y+patchsize-1])
这也造成了其大小的补丁零
注:大小并不总是返回零,在第一种情况下,根据关于随机插入x和y的内容,补丁有时会有尺寸补丁大小,但它不会发生在100%以上的时间,而在第二个示例中,它有时会有大小不等的大小,但我无法理解这种不一致是来自哪里。
更新:
[sample_width, sample_height] = size(sample);
应该是:这个问题从我的代码的一部分来
sample_width, sample_height, depth] = size(sample);
它可能不是错误的原因,但由于尺寸(...)给出的数行作为第一个输出,不应该在代码的第二行切换sample_width和sample_height? – 2014-09-22 01:00:03
谢谢你,你绝对是对的,不幸的是在这种情况下它是一个方形图像,所以不是错误 – user3325965 2014-09-22 01:01:33
哦拍的来源。出于好奇,样本的大小是多少? – 2014-09-22 01:03:34