help me to solve error in integer coding

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,[])

Antworten (1)

Geoff Hayes
Geoff Hayes am 25 Apr. 2015

0 Stimmen

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 Kommentare

please run this code and there are error at filtImg = conv2(imgN,gf,'same');
%# read image
img = imread('C:\Users\User\Pictures\N2.jpg');
%# normalize to 0...1
% imgN = double(img-min(img(:)))/(max(img(:)-min(img(:))));
imgN = double(img-min(img(:)))/double(max(img(:)-min(img(:))));
th1=graythresh(imgN);
th2 = graythresh(imgN(imgN>th1));
cellMsk = imgN>th1;
nucMsk = imgN>th2;
figure,imshow(cellMsk+nucMsk,[])
% (2) Smooth the raw image (to avoid over-segmentation) and impose nuclei as minima
[xx,yy]=ndgrid(-5:5,-5:5);
gf = exp((-xx.^2-yy.^2)/20);
filtImg = conv2(imgN,gf,'same');
figure,imshow(filtImg,[])
filtImgM = imimposemin(-filtImg,nucMsk);
% (3) Watershed, mask cells, and display
ws = watershed(filtImgM);
ws(~cellMsk) = 0;
lblImg = bwlabel(ws);
figure,imshow(label2rgb(lblImg,'jet','k','shuffle'));
izyan hanum
izyan hanum am 25 Apr. 2015
picture below
Geoff Hayes
Geoff Hayes am 25 Apr. 2015
izayn - if you are observing an error, please post it.

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 25 Apr. 2015

Kommentiert:

am 25 Apr. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by