图像阈值分割方法论文与代码【matlab】

文章探讨了图像分割中的阈值分割技术,特别是Otsu方法,并通过对比IABC、ABC、IDA和AHHO算法在PSNR、SSIM和FSIM指标下的表现,显示了提出的算法在性能上的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、算法流程

图像是事物的视觉表现,也是人类接收信息,传递信息的一种重要途径,是人类生活与生产过程中最高效的信息获取与交流的方式之一。图像分割是一种帮助人类获取有效知识的重要方法,其主要是将目标图像处理成多个具有不同性质的区域并提取出对用户有用的或者感兴趣的目标区域。

图像分割在图像分析和计算机视觉系统中是一种非常基础的步骤, 是图像分析和识别的首要任务。由于简单和容易实现的特点,对于分割方法而言,图像的阈值分割种非常受欢迎的方法。

阈值是一种基于图像亮度(𝐿𝐿)将灰色或者彩色图像分类的一种技术。对于一张图像而言,可以通过公式选择最优阈值(𝑓𝑓ℎ)。最大类间方差是一种无参数的阈值技术,无监督的自动阈值选择方法,通常也被称作Otsu方法[55]。Otsu方法依靠判别分析来最大化类间可分离性水平。假设图像 𝐼𝐼 是由 𝑇𝑇𝑃𝑃 × 𝑁𝑁𝑃𝑃个像素组成的图像,𝐿𝐿 表示的是图像 𝐼𝐼 中灰度级的总个数,灰度级的取值一般为 [0,1, . . . , 𝐿𝐿 − 1],𝑓𝑓𝑖𝑖 表示灰度级𝑖𝑖在图像中的总个数,那么可以计算出图像 𝐼𝐼 的灰度级的概率分布 。

二、代码与仿真

%% Read image from file
inImg = im2double(rgb2gray(imread('a5.png')));
%%inImg = imresize(inImg, 64/size(inImg, 2));

%% Spectral Residual
myFFT = fft2(inImg);
myLogAmplitude = log(abs(myFFT));
myPhase = angle(myFFT);
mySpectralResidual = myLogAmplitude - imfilter(myLogAmplitude, fspecial('average', 3), 'replicate');
saliencyMap = abs(ifft2(exp(mySpectralResidual + i*myPhase))).^2;

%% After Effect
saliencyMap = mat2gray(imfilter(saliencyMap, fspecial('gaussian', [10, 10], 2.5)));
imshow(saliencyMap);

对比算法结果

列出了 IABC,ABC,IDA,AHHO 算法在不同图像上和阈值分割水平上的 PSNR,SSIM,FSIM 的值,黑色加粗部分表示算法在比较中表现最好的结果。从表4.2中可以看出,在相同的计算成本下,本文中提出的图像阈值分割方法有很好的性能。具体来说,以 OTSU 为算法的目标函数时,使用本文提出的算法得到的图像阈值分割结果要远优于其他三种算法得到的结果;当以 PSNR 作为图像质量的评价指标时, IABC得到的分割图像要优于其他三个算法,换句话说,使用 IABC 算法得到的分割图像与原图像的相似度最高;当评价指标为 SSIM 时,从实验的结果数据中可以得到, IABC算法在 lake.jpg 图像上得到的效果最差,在 pig.jpg 图像上得到的效果最好;若用户使用 FSIM 作为图像的评价指标时,在大多数情况下,使用 IABC 算法得到的阈值进行分割的图片与原图片的特征最为相似。

图片测试

算法结果

博主简介:本人擅长数据处理、建模仿真、程序设计、论文写作与指导,欢迎项目与课题经验交流。

大量算法设计可留言评论获取,或者付费咨询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坷拉博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值