正如@beaker所想,最大磁盘区域是由适合图像边界框内的最大填充圆定义的.你可以从文章的图3b)看到.

使用边缘检测器边缘(灰色,“sobel”),而您应该使用梯度图或更正式的梯度大小.这是一个代码,它产生一个接近图3d所示的曲线.如何将其量化为六个峰值,仍然是一个问题.

A = imread( 'Layer-5.png' ); % image from the article

A = double(rgb2gray( A ));

% gradient magnitude

dx = imfilter(A,fspecial('sobel') ); % x, 3x3 kernel

dy = imfilter(A,fspecial('sobel')'); % y

gradmag = sqrt( dx.^2 + dy.^2 );

% mask by disk

R = min( size(A)/2 ); % radius

disk = insertShape(zeros(size(A)),'FilledCircle', [size(A)/2,R] );

mask = double(rgb2gray(disk)~=0);

gradmag = mask.*gradmag;

% radon transform

theta = linspace(0,180,180);

vars = zeros(size(theta));

for u = 1:length(theta)

[rad,xp] =radon( gradmag, theta(u) );

indices = find( abs(xp)

% ignore radii outside the maximum disk area

% so you don't sum up zeroes into variance

vars(u) = var( rad( indices ) );

end

vars = vars/norm(vars);

figure; plot( vars );

记住,从文章复制的图像与jpg文物一起出现.经过好的去噪(这里太多了),例如,

Te2RF.png

你会得到更加突出的结果.

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐