sliding window operation in image

I have an image of size 256*256, i want to use 3*3 window which slides over image and change the value of central pixel as sum of neighbouring 8 pixels. Please Help.

 采纳的回答

Image Analyst
Image Analyst 2014-6-26
Try conv2(), imfilter(), nlfilter(), or, if you want to move in "jumps" instead of by one pixel, blockproc().

3 个评论

thanks for your reply and i see the function usage of above said function but if my function is:
function y=shannon_entro(x)
[M,N]=size(x);
y=zeros(1,N);
for l=1:N
y(l) = -( sum(x(:,l).*log(x(:,l))) );
end
then how can i implement it in 3*3 manner in image using above functions.
one can use nlfilter or blockprop.
Sorry, for some reason I didn't see your follow up question from June until now. Please see my demo of nlfilter where you can have it perform your own custom operation/filter on the window at each location.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by