请使用任何图像处理方法和编程语言,从图的背景中分割出感兴趣区域的指纹区域。
解释为什么你选择使用这种方法。(请注意,将提供jpg图像作为输入。)
I=imread('1.jpg');
f=rgb2gray(I);
f1=im2bw(f,192/240);
BW1=double(f1);
BW=edge(BW1,'sobel',0.4); %sobel算子可以和robets算子、canny算子作比较。
r_max=90;
r_min=20;step_r=10;step_angle=pi/6;p=0.3;
% p:阈值,0,1之间的数
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% output
% hough_space:参数空间,h(a,b,r)表示圆心在(a,b)半径为r的圆上的点数
% hough_circl:二值图像,检测到的圆
% para:检测到的圆的 圆心、半径
[m,n] = size(BW);
size_r = round((r_max-r_min)/step_r)+1;
size_angle = round(2*pi/step_angle);
hough_space = zeros(m,n,size_r);
[rows,cols] = find(BW);
ecount = size(rows);
% Hough变换
% 将图像空间(x,y)对应到参数空间(a,b,r)
% a = x-r*cos(angle)
% b = y-r*sin(angle)
for i=1:ecount
for r=1:size_r
for k=1:size_angl