当前位置: 首页 > news >正文

基于WTMM算法的图像多重分形谱计算matlab仿真

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

4.1、WTMM算法概述

4.2、WTMM算法原理

4.2.1 二维小波变换

4.2.2 模极大值检测

4.2.3 多重分形谱计算

5.算法完整程序工程


1.算法运行效果图预览

2.算法运行软件版本

matlab2022a

3.部分核心程序

.........................................................................
%%
%对保存的多张图片读取并调用WTMM方法求图像的多重分形谱,对得到的结果保存其特征值
if sel == 1k = 1;for i=1:2*n1*n2;if i<=n1*n2k      = i;folder = 'save_images\1\';lists  = dir('save_images\1\*.jpg');        endif i<=2*n1*n2 & i>n1*n2k      = i - n1*n2;folder = 'save_images\2\';lists  = dir('save_images\2\*.jpg');        end        i%read an imageI                               = imread(fullfile(folder,lists(k).name));%调用分形函数[qt,rt,ft,fft,Dt,feature_data]  = func_Wavelet_multifractal(I);q{i}                            = qt;r{i}                            = rt;    f{i}                            = ft;   ff{i}                           = fft;   D{i}                            = Dt;Feature{i}                      = feature_data;endsave result.mat q r f ff D FeatureK = 120;figure;plot(r{K},f{K},'-r>',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.9,0.0]);xlabel('奇异指数a');ylabel('多重分行谱f(a)') grid on;figure;plot(q{K}+2,D{K},'-r>',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.9,0.0]);xlabel('q');ylabel('D(q)') grid on;figureplot(q{K},r{K},'-r>',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.9,0.0]);title('q和阿尔法a'); xlabel('权重因子q');ylabel('奇异指数a');grid on;figure;plot(q{K},f{K},'-r>',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.9,0.0]);title('q和f(a) '); xlabel('权重因子q');ylabel('多重分行谱f(a)'); grid on;
end %%
%调用分类器对特征参数进行分类
if sel == 0load result.mat %q r f ff FeatureK = 120;figure;plot(r{K},f{K},'-r>',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.9,0.0]);xlabel('奇异指数a');ylabel('多重分行谱f(a)') grid on;figure;plot(q{K}+2,D{K},'-r>',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.9,0.0]);xlabel('q');ylabel('D(q)') grid on;figureplot(q{K},r{K},'-r>',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.9,0.0]);title('q和阿尔法a'); xlabel('权重因子q');ylabel('奇异指数a');grid on;figure;plot(q{K},f{K},'-r>',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.9,0.0]);title('q和f(a) '); xlabel('权重因子q');ylabel('多重分行谱f(a)'); grid on;   for i = 1:length(Feature)P(i) =  Feature{i}(3);end T =  [1*ones(1,length(Feature)/2),2*ones(1,length(Feature)/2)];t1                      = clock;                              %计时开始net                     = fitnet(65);net.trainParam.epochs   = 1000;                               %设置训练次数net.trainParam.goal     = 0.0001;                             %设置性能函数net.trainParam.show     = 1;                                  %每10显示net.trainParam.Ir       = 0.005;                              %设置学习速率net                     = train(net,P,T);                     %训练BP网络datat                   = etime(clock,t1);Nets                    = net;view(Nets);figure;plot(P,'b-*');y = sim(net,P);  figure;stem(y,'-bs',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.0,0.0]);hold onplot(T,'-mo',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.5,0.9,0.0]);hold onlegend('预测数据','实际数据');title('输出1为第一类,输出2为第二类(即可对比实际的健康部分和肿瘤部分)');disp('预测正确率');error = 0;for i = 1:length(y)if i <= length(y)/2 if y(i) > 1.5error = error + 1;endelseif y(i) < 1.5error = error + 1;end          endend1-error/length(y)
end
17_003m

4.算法理论概述

        基于WTMM算法的图像多重分形谱计算是一种利用小波变换模极大值(WTMM)方法,对图像进行多重分形分析的方法。下面将详细介绍这种方法的原理和数学公式。

4.1、WTMM算法概述

       分形理论是一种研究自然界中不规则、复杂现象的数学工具,而多重分形则是分形理论的一个重要分支,用于描述具有不同奇异程度的分形结构。在图像处理中,多重分形分析可以帮助我们更好地理解图像的纹理、边缘等特征,以及它们在不同尺度下的表现。

       WTMM算法是一种基于小波变换模极大值的方法,用于计算图像的多重分形谱。该方法主要利用小波变换对图像进行多尺度分解,提取出图像在不同尺度下的边缘信息。然后,通过对这些边缘信息进行统计分析,计算出图像的多重分形谱。

具体来说,WTMM算法的计算步骤如下:

  1. 对图像进行二维小波变换,得到一系列小波系数。
  2. 对每个尺度下的小波系数进行模极大值检测,提取出图像的边缘信息。
  3. 对提取出的边缘信息进行统计分析,计算出图像的多重分形谱。

4.2、WTMM算法原理

WTMM算法的数学公式主要包括以下几个部分:

4.2.1 二维小波变换

       对图像f(x,y)进行二维小波变换,可以得到一系列小波系数Wf(x,y),其中下标f表示小波变换的类型,如Haar小波、Daubechies小波等。二维小波变换的数学公式可以表示为:

Wf(x,y)=∫∫f(u,v)ψf(x−u,y−v)dudvWf(x,y) = \int \int f(u,v) \psi_f(x-u,y-v) du dvWf(x,y)=∫∫f(u,v)ψf​(x−u,y−v)dudv

其中,ψf(x,y)是小波基函数。

4.2.2 模极大值检测

       对每个尺度下的小波系数进行模极大值检测,可以提取出图像的边缘信息。具体地,对于每个像素位置(x,y),如果满足以下两个条件:

|Wf(x,y)|≥|Wf(x+1,y)|,|Wf(x,y)|≥|Wf(x−1,y)|,|Wf(x,y)|≥|Wf(x,y+1)|,|Wf(x,y)|≥|Wf(x,y−1)||W_f(x,y)| \geq |W_f(x+1,y)|, |W_f(x,y)| \geq |W_f(x-1,y)|,|W_f(x,y)| \geq |W_f(x,y+1)|, |W_f(x,y)| \geq |W_f(x,y-1)||Wf​(x,y)|≥|Wf​(x+1,y)|,|Wf​(x,y)|≥|Wf​(x−1,y)|,|Wf​(x,y)|≥|Wf​(x,y+1)|,|Wf​(x,y)|≥|Wf​(x,y−1)|

则称该像素位置为模极大值点。

4.2.3 多重分形谱计算

      通过对提取出的边缘信息进行统计分析,可以计算出图像的多重分形谱。具体地,可以用以下公式计算多重分形谱:

α=lim⁡ε→0log⁡|Wf(x,y)|log⁡ε\alpha = \lim_{\varepsilon \to 0} \frac{\log |W_f(x,y)|}{\log \varepsilon}α=limε→0​logεlog⁡|Wf​(x,y)|​

       其中,ε是小波变换的尺度参数,α是奇异指数,用于描述图像在不同尺度下的奇异程度。通过对所有模极大值点的奇异指数进行统计分析,可以得到图像的多重分形谱。

5.算法完整程序工程

OOOOO

OOO

O

相关文章:

基于WTMM算法的图像多重分形谱计算matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、WTMM算法概述 4.2、WTMM算法原理 4.2.1 二维小波变换 4.2.2 模极大值检测 4.2.3 多重分形谱计算 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部…...

VR全景展示带来旅游新体验,助力旅游业发展!

引言&#xff1a; VR&#xff08;虚拟现实&#xff09;技术正以惊人的速度改变着各行各业&#xff0c;在旅游业中&#xff0c;VR全景展示也展现了其惊人的影响力&#xff0c;为景区带来了全新的宣传机会和游客体验。 一&#xff0e;什么是VR全景展示&#xff1f; VR全景展示是…...

Xcode 15 编译出错问题解决

正常升级xcode 15以后发现原来没有出现报错的代码&#xff0c;现在出现了编译错误。&#xff08;如果没有出现请忽略&#xff09;下面教你如何解决这个问题。 1、pod update更新cocoapods&#xff0c;因为其根据xcode15做了很多的更新&#xff0c;保证cocoapods是最新的。 千…...

基于指数趋近律的机器人滑模轨迹跟踪控制算法及MATLAB仿真

机械手是工业制造领域中应用最广泛的自动化机械设备&#xff0c;广泛应用于工业制造、医疗、军工、半导体制造、太空探索等领域。它们虽然形式不同&#xff0c;但都有一个共同的特点&#xff0c;即能够接受指令&#xff0c;并能准确定位到三维(或二维)空间的某一点进行工作。由…...

华为云API自然语言处理的魅力—AI情感分析、文本分析

云服务、API、SDK&#xff0c;调试&#xff0c;查看&#xff0c;我都行 阅读短文您可以学习到&#xff1a;人工智能AI自言语言的情感分析、文本分词、文本翻译 1 IntelliJ IDEA 之API插件介绍 API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE&a…...

微擎小程序获取不到头像和昵称解决方案

这是一个使用微擎小程序的代码示例&#xff0c;其中包含了获取用户头像和昵称的功能。以下是解决方案&#xff1a; 首先&#xff0c;在<button>标签上添加open-type"chooseAvatar"属性&#xff0c;并绑定bindchooseavatar事件&#xff1a; <button class&qu…...

Qt 对界面类重命名的步骤

有些时候因为一些原因&#xff0c;需要修改Qt中创建的界面类&#xff0c;修改的地方比较多&#xff0c;一定要留意有没有修改完全&#xff0c;否则会出现各种奇怪报错。 比如&#xff0c;将MainWindow界面类名修改为lb_logdisplay 修改步骤&#xff1a; 修改文件名&#xff1a;…...

使用docker搭建nacos单机、集群 + mysql

单机搭建 1 拉取mysql镜像 docker pull mysql:5.7.40 2 启动mysql容器 docker run -d --namemysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD123456 mysql:5.7.40 3 执行nacos的数据库脚本 /* * Copyright 1999-2018 Alibaba Group Holding L…...

FreeRTOS自我救赎2之基本工程建立

System Core 1.System Core >SYS 2.System Core >RCC 3.System Core >NVIC Middleware Middleware >FREERTOS Clock configuration Project Manager 在编译生成的代码前需要找一个与芯片对应的启动文件&#xff0c;启动文件添加进来&#xff0c;编译就没问题了...

【C++设计模式之解释器模式:行为型】分析及示例

简介 解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为型设计模式&#xff0c;它提供了一种解决问题的方法&#xff0c;通过定义语言的文法规则&#xff0c;解释并执行特定的语言表达式。 解释器模式通过使用表达式和解释器&#xff0c;将文法规则中的句子逐…...

35 WEB漏洞-逻辑越权之找回机制及接口安全

目录 找回重置机制接口调用乱用演示案例绑定手机验证码逻辑-Rep状态值篡改-实例某APP短信轰炸接口乱用-实例接口调用发包 文章分享&#xff1a;https://www.cnblogs.com/zhengna/p/15655691.html 有支付接口、短信发送接口&#xff0c;邮箱的发送接口等等&#xff0c;在接口这…...

黑豹程序员-架构师学习路线图-百科:JSON替代XML

文章目录 1、数据交换之王2、XML的起源3、JSON诞生4、什么是JSON 1、数据交换之王 最早多个软件之间使用txt进行信息交互&#xff0c;缺点&#xff1a;纯文本&#xff0c;无法了解其结构&#xff1b;之后使用信令&#xff0c;如&#xff1a;电话的信令&#xff08;拨号、接听、…...

考研人考研魂——英语单词篇(20231009)

下一站&#xff0c;上岸 consoleconsistentconsistconstituteconstitutionconstituentconstructdistinctdistinguishdistinctionconstantconstrainfruitfulfulfillfundfunctionfrustrateevidencefundamentalevilevidentenvironmententertainmententertainenterprisemonotonousm…...

【数据结构】HashSet的底层数据结构

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 HashSet 一、 HashSet 集合的底层数据结构二…...

数据结构与算法(七)--使用链表实现栈

一、前言 之前我们已经学习了链表的所有操作及其时间复杂度分析&#xff0c;我们可以了解到对于链表头的相关操作基本都是O(1)的&#xff0c;例如链表头增加、删除元素&#xff0c;查询元素等等。那我们其实有一个数据结构其实可以完美利用到这些操作的特点&#xff0c;都是在…...

分布式事务详解

摘要 分布式事务主要包括2pc、3pc、消息事务。 2pc指两阶段提交&#xff1a; 第一阶段是准备阶段&#xff1a;所有事务参与者检查执行能力并锁定对应资源&#xff0c;准备完成后将状态告知协调者。第二集段是提交状态&#xff1a;事务参与者全部准备好后&#xff0c;协调者发…...

车载通信架构 —— DDS协议介绍

车载通信架构 —— DDS协议介绍 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和…...

nginx根据不同的客户端设备进行转发请求——筑梦之路

这里主要介绍七层负载方式实现。 环境说明&#xff1a; pc端 web-1 苹果ios端 web-2 安卓Android端 web-3 负载均衡 web-lb 配置示例&#xff1a; pc端&#xff1a; server {listen 9000; #监听9000server_name pc.xxx.com;charset utf-8;location / {root /…...

增强LLM:使用搜索引擎缓解大模型幻觉问题

论文题目&#xff1a;FRESHLLMS:REFRESHING LARGE LANGUAGE MODELS WITH SEARCH ENGINE AUGMENTATION 论文地址&#xff1a;https://arxiv.org/pdf/2310.03214.pdf 论文由Google、University of Massachusetts Amherst、OpenAI联合发布。 大部分大语言模型只会训练一次&#…...

WPF向Avalonia迁移(一、一些通用迁移项目)

通用变更 WPF&#xff1a;Visibility 其他参考文档 WPF&#xff1a; <TextBlock Visibility"Visible"/><TextBlock Visibility"Collapsed"/><TextBlock Visibility"Hidden"/>Avalonia &#xff1a; <TextBlock IsVisib…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...