help me to solve error in integer coding

15 visualizaciones (últimos 30 días)
izyan hanum
izyan hanum el 25 de Abr. de 2015
Comentada: Geoff Hayes el 25 de Abr. de 2015
i dont know why have error in this coding. please help me to solve it
Error using ./ Integers can only be combined with integers of the same class, or scalar doubles.
Error in try1 (line 21) imgN=double(img-min(img(:)))/(max(img(:)-min(img(:))));
%# read image
img = imread('C:\Users\User\Pictures\N2.jpg');
%# normalize to 0...1
imgN = double(img-min(img(:)))/(max(img(:)-min(img(:))));
th1=graythresh(imgN);
th2 = graythresh(imgN(imgN>th1));
cellMsk = imgN>th1;
nucMsk = imgN>th2;
figure,imshow(cellMsk+nucMsk,[])

Respuestas (1)

Geoff Hayes
Geoff Hayes el 25 de Abr. de 2015
izayn - the problem in the line
imgN = double(img-min(img(:)))/(max(img(:)-min(img(:))));
is that the
double(img-min(img(:)))
is a multi-dimensional array (the same size as your matrix) and is of class/type double. The
(max(img(:)-min(img(:))))
will be a scalar of class/type that is the same as your image. I get the same error if I read an image where each element is a 8-bit unsigned integer. To get around this problem, just cast the right half of the equation to be of double type too. Your equation then becomes
imgN = double(img-min(img(:)))/double(max(img(:)-min(img(:))));
Try the above and see what happens!
  3 comentarios
izyan hanum
izyan hanum el 25 de Abr. de 2015
picture below
Geoff Hayes
Geoff Hayes el 25 de Abr. de 2015
izayn - if you are observing an error, please post it.

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