0
我是在matlab中的新手。我正在尝试编写一个代码,将图像划分为3 * 3大小的非重叠块,我应该执行特定块的操作,例如获取块的中心像素的值并执行一些操作。但我不知道从哪里开始。使用像blockproc这样的命令将无济于事。任何人都可以建议我从哪里开始?如何使用块处理图像?
我是在matlab中的新手。我正在尝试编写一个代码,将图像划分为3 * 3大小的非重叠块,我应该执行特定块的操作,例如获取块的中心像素的值并执行一些操作。但我不知道从哪里开始。使用像blockproc这样的命令将无济于事。任何人都可以建议我从哪里开始?如何使用块处理图像?
你可以很容易地使用blockproc此: http://www.mathworks.com/help/toolbox/images/ref/blockproc.html
但如果不为你工作,你得到了什么错误?如果你想手动执行它(比如提取每个块的中心像素的值),你可以简单地使用两个循环来做这个..但是请注意,这是一个不够好的,并不是真正快速的方法它...
image = imread('image.png');
s = size(image);
for i=2:3:s(1)-1
for j=2:3:s(2)-1
%% here you have the midpoint of each 3x3 block...
%% you could then easily crop the image around it if you
%% really need separated blocks...
end
end
这并不是虽然非常快的方式...但它的工作原理...
希望帮助...
*创业之初并继续直到你走到尽头:然后停下来。*你有没有图像?你怎么代表它? – misha 2011-02-14 08:38:01