danneh
Computer
- Feb 18, 2009
- 1
Hi all,
As my first post on the forums, I'd like to say Hi to all and thank you for your suggestions. I need to write a program which reads in an image (say bacteria) as a matrix, convert it to black and white and then sum up all the 1's (white pixels). Currently, Ive managed to do this, but what is also required is different size boxes (matrix cells) for analysis purposes (quite like a box-counting method). When I imread('surface0_2um.bmp') I have cropped off the unnecessary pixels I do not require. Therefore MATLAB saves it as a 600x400 matrix, where each pixel represents a cell. How can I make it so each cell is, say, 10x10 or 25x25 therefore the number of cells will change. My code at the moment is:
[I,map]=imread('surface0_2um.bmp');
I2=imcrop(I,[0 0 600 400]);
I=I2;
background=imopen(I,strel('disk',40));
I2=imsubtract(I,background);
I3=imadjust(I2);
level=graythresh(I3);
bw=im2bw(I3,level);
bw=not(bw);
imshow(bw)
whos
sum(sum(bw))
Kind regards,
Danny
As my first post on the forums, I'd like to say Hi to all and thank you for your suggestions. I need to write a program which reads in an image (say bacteria) as a matrix, convert it to black and white and then sum up all the 1's (white pixels). Currently, Ive managed to do this, but what is also required is different size boxes (matrix cells) for analysis purposes (quite like a box-counting method). When I imread('surface0_2um.bmp') I have cropped off the unnecessary pixels I do not require. Therefore MATLAB saves it as a 600x400 matrix, where each pixel represents a cell. How can I make it so each cell is, say, 10x10 or 25x25 therefore the number of cells will change. My code at the moment is:
[I,map]=imread('surface0_2um.bmp');
I2=imcrop(I,[0 0 600 400]);
I=I2;
background=imopen(I,strel('disk',40));
I2=imsubtract(I,background);
I3=imadjust(I2);
level=graythresh(I3);
bw=im2bw(I3,level);
bw=not(bw);
imshow(bw)
whos
sum(sum(bw))
Kind regards,
Danny