21 lines
705 B
Matlab
21 lines
705 B
Matlab
function param = parameter(image)
|
|
t1 = toc;
|
|
bw = rgb2gray(image);
|
|
[Gx, Gy] = imgradientxy(bw);
|
|
%[Gmag, Gdir] = imgradient(Gx, Gy);
|
|
gradImage = rgb2gray(imfuse(Gx,Gy));
|
|
%temp = histeq(gradImage);
|
|
threshImage = im2bw(gradImage,graythresh(gradImage));
|
|
[~, radii] = imfindcircles(threshImage,[10 60]);
|
|
cell_area = round(sum(3.14*(radii.^2)));
|
|
bg = rgb2gray(imread('bg.jpg'));
|
|
a = histeq(bw)-bg;
|
|
level2 = graythresh(a);
|
|
bgImg = bwareaopen(im2bw(a,level2),800);
|
|
bg_pixels = sum(sum(bgImg == 1));
|
|
fg_pixels = (1280 * 1024) - bg_pixels;
|
|
fg_pixels = fg_pixels - round(0.1*fg_pixels);
|
|
param = cell_area/fg_pixels;
|
|
t2 = toc;
|
|
disp(t2-t1)
|
|
end |