# How can we generate an image with equal number of intensity values?

1 visualización (últimos 30 días)
Navdeep Sony el 31 de En. de 2016
Comentada: Image Analyst el 31 de En. de 2016
For example we have an image that has 5 pixels with intensity 100, 5 with intensity 50, 5 with intensity 200 and so on.
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
Image Analyst el 31 de En. de 2016
Do all gray levels have an equal number of occurrence, or do you want to specify exactly what gray levels occur and for how many pixels each gray level occurs? If all have equal, then you want histogram equalization, but not like most people do it. You'd have to use special code.

Iniciar sesión para comentar.

Walter Roberson el 31 de En. de 2016
needHeight = 96; needWidth = 78; %adjust as required
default_pix_intens = 0; %default intensity if the template does not describe enough pixels
template = [5, 100; %count, intensity
5, 50;
5, 200];
num_pix_needed = needHeight * needWidth;
pixdata = [];
for K = 1 : size(template,1)
pixdata = [pixdata, repmat(template(K,2), 1, template(K,1))];
end
num_pix_templated = length(pixdata);
if num_pix_templated > num_pix_needed
error( fprintf('only %d total pixels needed but template describes %d pixels', num_pix_needed, num_pix_templated) );
elseif num_pix_templated < num_pix_needed
pixdata(num_pix_templated+1 : num_pix_needed) = default_pix_intens;
end
scrambled_pixdata = pixdata(randperm(numel(pixdata))); %assuming you want a random order
pix_matrix = reshape(scrambled_pixdata, needHeight, needWidth);
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

### Etiquetas

Aún no se han introducido etiquetas.

### Community Treasure Hunt

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

Start Hunting!

Translated by