Borrar filtros
Borrar filtros

normalization image, normalization distance pixels

1 visualización (últimos 30 días)
Tomas
Tomas el 1 de Abr. de 2014
Comentada: Image Analyst el 10 de Mayo de 2017
Hello,
i have image
when I use my code:
img = imread('obraz.bmp');
img = rgb2gray(img);
imshow(img);
%%normalization
img = ( img - min(img(:)) ) ./ ( max(img(:)) - min(img(:)) );
img = ~img;
[m n]=size(img)
P = [];
for i=1:m
for j=1:n
if img(i,j)==1
P = [P ; i j];
end
end
end
size(P);
MON=P;
[IDX,ctrs] = kmeans(MON,3);
clusteredImage = zeros(size(img));
clusteredImage(sub2ind(size(img) , P(:,1) , P(:,2)))=IDX;
imshow(label2rgb(clusteredImage))
my output is
as I am to normalize the image? when I want to output as
Thank for you help

Respuestas (2)

Image Analyst
Image Analyst el 1 de Abr. de 2014
Get rid of all that. It's a totally wrong approach. You don't need normalization or building up a list of white pixels. Simply threshold the image and label it and apply colors.
rgbImage = imread('obraz.bmp');
grayImage = rgbImage(:,:,2); % Extract green channel.
binaryImage = grayImage > 128;
labeledImage = bwlabel(binaryImage);
coloredLabels = label2rgb (labeledImage, 'hsv', 'k', 'shuffle'); % pseudo random color labels
imshow(labeledImage, []);
Of course if you like really compact code, the 2nd, 3rd, and 4th lines can be combined into one line.
  9 comentarios
Image Analyst
Image Analyst el 1 de Abr. de 2014
Is the shape the white objects or the black objects? Either way, it's trivial with labeling and difficult and faulty with kmeans. If you look at the x,y locations of the points then the centroid of the circle is really close to the centroids of the polygons and the polygon pixels go very near the centroid of the circle and might be classified as circle instead of polygons. Good example of why kmeans is not good for connected components labeling.
Tomas
Tomas el 1 de Abr. de 2014
Editada: Tomas el 1 de Abr. de 2014
Objects are black, my again makes no sense at all
normalized cuts,How is it used?

Iniciar sesión para comentar.


Arshad Ali
Arshad Ali el 10 de Mayo de 2017
Can any one please help me how to normalized pixel area being consumed by each colour. (Normalized area consumed by red colour=No of pixels of Red/( Total no of pixels in the image)
  1 comentario
Image Analyst
Image Analyst el 10 de Mayo de 2017
See color segmentation demos. Once you have a binary image that defines what pixels you consider to be "red", you simply divide the sum of true/1/white pixels in it by the number of pixels in the image.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by