Как использовать блок обработки для изображения? - PullRequest
0 голосов
/ 14 февраля 2011

Я вроде новичков в матлабе. Я пытаюсь написать код, который делит изображение на непересекающиеся блоки размером 3 * 3, и я должен выполнить операцию конкретного блока, например, получить значение центрального пикселя блока и выполнить некоторые операции. Но я не знаю, с чего начать. Использование команды вроде blockproc не поможет. Кто-нибудь может подсказать, с чего начать?

1 Ответ

1 голос
/ 14 февраля 2011

Вы можете легко использовать 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

Это не очень быстрый способ, хотя ... но он работает ...

Надеюсь, это поможет ...

...