Skip to content

Guevara111/matlab_code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MATLAB 项目代码合集

项目简介

本仓库含有多个 MATLAB 项目代码,涵盖路径规划、图像处理、深度学习、信号处理、加密算法、无人机仿真等多个领域。每个子文件夹为一个独立项目,可单独运行。

项目目录

项目 领域 简要说明
A星路径规划 路径规划 A*算法在栅格地图上的最短路径搜索
ESN手写数字体识别 深度学习 回声状态网络识别手写数字
二维 Delaunay三角网 计算几何 二维点集的 Delaunay 三角剖分
分水岭算法 图像分割 基于分水岭变换的图像分割
博克摆 物理仿真 弹簧摆系统的动力学仿真与动画
合成孔径雷达cs 信号处理 SAR Chirp Scaling 成像算法
哈希加密 密码学 AES、DES、RSA、SHA256、PVD隐写等加密算法集合
图像修复 图像处理 FMM快速行进法 + Criminisi算法图像修复
基于强化学习的自动泊车 强化学习 Simulink + RL Agent 实现自动泊车
彩色图像修复-Criminisi算法 图像处理 基于样本块的彩色图像修复
旅行商问题 组合优化 遗传算法、蚁群算法、鱼群算法求解TSP/VRP
无人机Dubins路径规划 路径规划 考虑速度约束的无人机Dubins曲线路径规划
无人机仿真 控制仿真 四旋翼无人机轨迹跟踪控制与3D仿真
机器人避障 机器人 动态窗口法(DWA)机器人避障
火灾识别 图像识别 基于颜色特征的火焰检测(图片+视频)
花分类 数据分析 鸢尾花数据集SVM分类 + 离群点检测
设计卷积网络进行图像分类 深度学习 自建CNN网络分类交通工具图像(7类)
词袋图像检索 图像检索 基于SIFT特征 + 词袋模型的图像检索
银行卡号识别 OCR识别 银行卡数字区域定位 + CNN数字识别
随机森林 机器学习 随机森林分类器实现

各项目详细说明

1. A星路径规划

A*算法在 20×20 栅格地图上搜索从起点到终点的最短路径,支持 8 方向移动。

入口文件A_ROAD_book2.m


2. ESN手写数字体识别

使用回声状态网络(Echo State Network)和深度 ESN 对 MNIST 手写数字进行分类识别。

入口文件main.m

关键文件

  • ESN.m — 标准 ESN 实现
  • DeepESN.m — 深度 ESN 实现
  • MnistData.mat — MNIST 数据集

3. 二维 Delaunay三角网

实现二维散点的 Delaunay 三角剖分算法,包含点在三角形内的判断。

关键文件

  • delaunay2.m — 三角剖分主程序
  • point_in_triangle.m — 点在三角形内判断

4. 分水岭算法

基于分水岭变换的图像分割方法。

入口文件main.m


5. 博克摆

弹簧摆(Spring Pendulum)系统的动力学方程求解与动画可视化。

关键文件

  • SpringPendulum.m — 主程序
  • Equation.m — 运动方程
  • Animation.m — 动画绘制
  • Spring.m — 弹簧绘制

6. 合成孔径雷达cs

合成孔径雷达(SAR)的 Chirp Scaling 成像算法实现。

关键文件

  • main.m — 主程序
  • wk.m — 波数域处理

7. 哈希加密

密码学算法合集,包含多种加密、哈希和隐写算法:

算法 文件
AES 加密/解密 aes_simple_encryption.m, aes_simple_decryption.m
DES 加密 DES.m, plaindes.m
RSA 公钥加密 RSA_Encrypt.m, RSA_Decrypt.m, RSA_Sign.m
SHA-256 哈希 SHA_sha256.m
PVD 图像隐写 PVD_Embed.m, PVD_Extract.m
混合加密系统 aes_hybrid.m, hybrid.m

8. 图像修复

两种图像修复算法实现,附带 GUI 界面:

  • FMM 快速行进法FFM_inpaint/)— 基于偏微分方程的修复方法
  • Criminisi 算法criminisi_inpaint/)— 基于样本块匹配的修复方法
  • GUI 界面mygui.m)— 可视化操作界面

入口文件main1.m(FMM)、main2.m(Criminisi)


9. 基于强化学习的自动泊车

使用 Simulink + 强化学习 Agent 实现自动泊车系统,包含 LIDAR 传感器仿真、停车场环境建模和 MPC 控制器。

入口文件main.m

关键文件

  • rlAutoParkingValet.slx — Simulink 模型
  • ParkingLotSimulator.m — 停车场仿真环境
  • LIDARSensor.m — 激光雷达传感器
  • createMPCForParking.m — MPC 控制器

10. 彩色图像修复-Criminisi算法

基于优先级的样本块匹配彩色图像修复算法,支持 PSNR 质量评估。

入口文件RGB_Criminisi_test.m

关键文件

  • RGB_Criminisi.m — 彩色 Criminisi 算法核心
  • whole_match.m — 全局块匹配
  • PSNR.m — 峰值信噪比计算

11. 旅行商问题

多种元启发式算法求解 TSP 和车辆路径问题(VRP):

子目录 算法 说明
ga/ 遗传算法 求解 kroA200 TSP 实例
蚁群/ 蚁群算法 信息素引导的 TSP 求解
鱼群/ 人工鱼群算法 觅食、聚群、追尾行为求解 att48 TSP
遗传算法求解多车型车辆路径问题/ GA-MCVRP 多车型车辆路径优化

12. 无人机Dubins路径规划

考虑速度约束和负载均衡的无人机 Dubins 曲线路径规划,支持障碍物避让。

入口文件untitled.m

关键文件

  • dubinsCalculateFunction.m — Dubins 曲线计算
  • obstacleFunction.m — 障碍物检测
  • moveFunction.m — 运动控制
  • printerDubinsFunction.m — 路径可视化

13. 无人机仿真

四旋翼无人机的轨迹跟踪控制与 3D 可视化仿真,支持直线和螺旋轨迹。

入口文件runsim.m

关键文件

  • controller.m — PD 控制器
  • traj_generator.m — 轨迹生成
  • simulation_3d.m — 3D 仿真可视化
  • utils/ — 四元数、旋转矩阵等工具函数

14. 机器人避障

基于动态窗口法(DWA)的移动机器人避障算法。

入口文件untitled.m

关键文件

  • DynamicWindowApproach.m — DWA 核心算法
  • compute_repulsion.m — 斥力场计算
  • detection.m — 障碍物检测

15. 火灾识别

基于颜色特征的火焰检测系统,支持图片和视频两种模式:

  • 图片模式图片/main.m)— RGB 颜色分布分析 + 火焰区域检测
  • 视频模式视频/gui1.m)— GUI 界面实时视频火焰检测

16. 花分类

鸢尾花(Iris)数据集的探索性分析、3σ 离群点检测和 SVM 多分类。

入口文件main.m

数据集iris--鸢尾花数据.xlsx(150样本,4特征,3类)


17. 设计卷积网络进行图像分类

自建 CNN 网络对交通工具图像进行 7 类分类(Boat、Bus、Car、SUV、Tractor、Trailer、Train)。

入口文件main.m

数据集Class11(224)/(224×224 图像,7个子文件夹)


18. 词袋图像检索

基于 SIFT 特征提取 + 词袋模型(Bag of Words)的图像检索系统。

入口文件main.m

关键文件

  • sift.m — SIFT 特征提取
  • match.m — 特征匹配
  • appendimages.m — 匹配结果拼接显示

19. 银行卡号识别

银行卡图像中数字区域定位与 CNN 数字识别:

流程:图像预处理 → Otsu 二值化 → 数字区域裁剪 → CNN 数字分类

关键文件

  • CropMain.m — 数字区域裁剪主程序
  • cnnexamples.m — CNN 训练
  • recognize.m — 数字识别
  • Otsu.m — 大津法二值化
  • KmeansSg.m — K-means 分割

20. 随机森林

随机森林(Random Forest)分类器的 MATLAB 实现。

入口文件main.m

关键文件generic_random_forests.m — 随机森林核心算法


运行环境

  • MATLAB R2020a 及以上版本
  • 部分项目需要以下工具箱:
    • Deep Learning Toolbox(CNN、强化学习相关)
    • Image Processing Toolbox(图像处理相关)
    • Computer Vision Toolbox(SIFT、特征提取)
    • Reinforcement Learning Toolbox(自动泊车)
    • Simulink(自动泊车仿真)
    • Statistics and Machine Learning Toolbox(SVM、随机森林)

使用方法

  1. 克隆本仓库
  2. 打开 MATLAB,将当前目录切换到对应项目的子文件夹
  3. 运行该项目的入口文件(通常为 main.m

各子目录相互独立,可单独运行。

项目结构

matlab_code/
├── A星路径规划/                          # A*最短路径搜索
├── ESN手写数字体识别/                    # 回声状态网络手写数字识别
├── 二维 Delaunay三角网/                  # Delaunay三角剖分
├── 分水岭算法/                           # 图像分水岭分割
├── 博克摆/                               # 弹簧摆物理仿真
├── 合成孔径雷达cs/                       # SAR Chirp Scaling成像
├── 哈希加密/                             # 加密算法合集(AES/DES/RSA/SHA)
├── 图像修复/                             # FMM + Criminisi图像修复
├── 基于强化学习的自动泊车/               # RL自动泊车(Simulink)
├── 彩色图像修复-Criminisi算法/           # 彩色图像修复
├── 旅行商问题/                           # TSP/VRP(GA/ACO/鱼群)
├── 无人机Dubins路径规划-速度约束与负载均衡/  # Dubins路径规划
├── 无人机仿真/                           # 四旋翼轨迹跟踪仿真
├── 机器人避障/                           # DWA动态窗口避障
├── 火灾识别/                             # 火焰颜色特征检测
├── 花分类/                               # 鸢尾花SVM分类
├── 设计卷积网络进行图像分类/             # CNN交通工具分类(7类)
├── 词袋图像检索/                         # SIFT+BoW图像检索
├── 银行卡号识别/                         # 银行卡数字OCR
├── 随机森林/                             # 随机森林分类器
└── README.md

About

本仓库含有多个 MATLAB 项目代码,涵盖路径规划、图像处理、深度学习、信号处理、加密算法、无人机仿真等多个领域

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages