我尝试选择边框,然后计算面积。 Вut我遇到了一些困难。这是我原来的形象。
在对原始图像进行一些处理之后,我获得了这张图片:
这是我的代码:
clear;
I=imread('C:\Users\Sashka\Desktop\calculator.jpg');
i=rgb2gray(I);
background = imopen(i,strel('disk',20));
im=histeq(background, 64);
uns=fspecial('unsharp') ;
uns1=imfilter(im, uns);
bw = im2bw(uns1,0.3);
bw2=bwmorph(bw, 'close', Inf);
bw3=bwmorph(bw2, 'majority', Inf);
bw4=bwmorph(bw3, 'erode', 18);
c=[30 30 440 440];
r=[480 680 680 480];
bw5=bwselect(bw4,c,r,4);
I2=imcrop(bw5, [30 25 1300 1090]);
你能帮我算一下中号按钮的数量吗?
答案 0 :(得分:0)
只需使用regionprops
并定义所需按钮的最大或最小区域的阈值,例如:
您的代码加上......
original = imcrop(i, [30 25 1300 1090]);
L_Measurements = regionprops(~I2, original, 'all');
threshold = 40000;
Areaofbuttons = cell2mat({L_Measurements.Area}');
numberOfButtons = sum( Areaofbuttons > threshold)
例如,
numberOfButtons =
9