2010-12-03 12 views
0

J'ai besoin de pixelliser une image dans MATLAB. J'ai une image en noir et blanc et je veux la découper en blocs 8x8 et obtenir une valeur moyenne de chaque bloc. Ensuite, je veux remplacer le bloc par un nouveau bloc composé de uns et de zéros, avec une quantité de uns dépendant de la valeur moyenne du bloc d'origine.Comment pixelliser une image dans Matlab?

Merci d'avance!

+0

Quelle est la question? – bjoernz

+2

Quelle est la question? Voter pour fermer. –

+4

Je peux voir comment vous pourriez faire ce que vous voulez. Pouvez-vous nous dire ce que vous avez fait jusqu'à présent et avec quoi vous avez un problème? – Jonas

Répondre

1

Cela vous aidera à démarrer. C'est l'image sous-échantillonnée où chaque valeur est comprise entre zéro et le carré de la taille du bloc. Vous êtes seul à étendre cet entier dans une sous-matrice.

bs = 8 
a = imread('trees.tif'); 
[r,c] = size(a); 
d = imresize(a,[round(r/bs), round(c/bs)]); 


figure(1) 
imshow(a) 
figure(2) 
imshow(d) 

mv = max(d(:)) 

d = round(double(d)/double(mv)*bs*bs); 

figure(3) 
imagesc(d) 
Questions connexes