图像处理APP
基于 Syslab App Designer 搭建的交互式图像处理教学应用,使用 TyImageProcessing 与 TyAppDesigner 实现图像读取、基础处理、图像增强、滤波去噪、边缘检测、形态学处理与教学实验流程的图形化操作,直观展示各类图像处理算法的效果,是数字图像处理与计算机视觉课程的可视化教学工具。
适用课程、行业与场景
本案例适用于数字图像处理、计算机视觉、信号与图像处理、模式识别、图形界面开发与工程软件应用等课程教学;面向图像处理、计算机视觉、医疗影像、工业检测、机器视觉等行业的研发与教学人员;可用于图像处理算法效果的直观演示与对比,灰度化、直方图均衡、滤波去噪、边缘检测、形态学处理等知识点的实验教学,以及 Syslab App Designer 图形界面开发的教学示范等场景。
功能模块
应用按教学流程划分为七大功能区:
| 功能区 | 主要操作 | 说明 |
|---|---|---|
| 文件信息 | 选择/读取/保存/重置/清空图像 | 显示路径、尺寸、通道数与类型 |
| 基础处理 | 灰度化、缩放、反色、直方图 | 多种插值缩放与直方图统计 |
| 图像增强 | 直方图均衡、反色、颜色压缩、抖动 | 颜色量化与抖动处理 |
| 滤波去噪 | 加噪、均值/高斯/中位数/锐化滤波、去噪对比 | 噪声模拟与降噪滤波 |
| 边缘检测 | Sobel/Prewitt/Roberts/Canny、阈值、叠加 | 边缘提取与可视化 |
| 形态学处理 | 腐蚀/膨胀/开/闭运算/顶帽/底帽/孔洞填充 | 二值图像形态学 |
| 教学实验流程 | 5 个一键实验 | 灰度与直方图、缩放插值对比、加噪去噪、边缘检测、形态学目标提取 |
核心算法与技术细节
图像读取与表示
- 使用
imread/imwrite读写图像,自动识别 RGB(三通道)、灰度与二值图(Bool)类型。 - 状态由
ImageTeachingState统一管理,保存originalImage、currentImage、grayImage、noisyImage、filteredImage、edgeImage、morphImage、middleImage、histImage及各阶段处理历史processHistory。
基础处理
- 灰度化:
rgb2gray将 RGB 转为灰度;已是灰度图则跳过。 - 缩放:
imresize支持按比例或指定宽高缩放,提供 nearest、bilinear、bicubic、area、lanczos 五种插值方法。 - 反色:
imcomplement取反。 - 归一化:
normalize01将像素线性映射到 [0,1],用于阈值化与显示。
图像增强
- 直方图均衡:
histeq拉伸灰度直方图,增强对比度。 - 颜色压缩 / 抖动:
rgb2ind将图像量化为指定颜色数(2~256 色),可选dither/nodither抖动,再经ind2rgb转回 RGB 显示。
滤波去噪
- 加噪:
imnoise支持椒盐噪声(salt & pepper)与高斯噪声(gaussian),强度可调。 - 滤波:均值、高斯、中位数、锐化滤波,卷积核支持 3×3 / 5×5 / 7×7,边界处理支持 replicate、symmetric、circular。
边缘检测
- 支持 Sobel、Prewitt、Roberts、Canny 算子;阈值支持自动/手动两种模式;可输出二值边缘或叠加到原图。
形态学处理
- 支持腐蚀、膨胀、开运算、闭运算、顶帽滤波、底帽滤波、填充孔洞;结构元素支持 disk、square、rectangle、line,可设尺寸与角度;可先二值化再处理。
界面布局
- 顶部工具栏:选择图像、读取图像、保存结果、重置、清空、一键运行当前流程。
- 左侧参数控制区:
TabGroup分页组织「文件信息、基础处理、图像增强、滤波去噪、边缘检测、形态学处理、教学实验流程」。 - 右侧图像显示区:4 个坐标区 2×2 排列——
OriginalAxes(原始图像)、ResultAxes(当前结果)、MiddleAxes(中间结果)、HistAxes(直方图/对比)。 - 底部说明区:
TeachingTextArea(教学说明)与StatusTextArea(状态提示)。
运行方式
启动图形界面(在 Syslab 中执行):
include("run_image_processing_app.jl")
自动测试算法链路(不创建 UI 窗口):
include("test_image_processing_app.jl")
在 App Designer 中搭建界面:按 APP_DESIGNER_LAYOUT.md 中的控件名称创建控件,引入 ImageProcessingTeachingApp 模块并将各按钮回调绑定到对应函数。
依赖
- Syslab 运行环境
TyImageProcessing(图像读写、灰度化、缩放、直方图均衡、加噪、滤波、边缘、形态学)TyAppDesigner(App 界面搭建)Statistics(统计计算)
目录内容
| 路径 | 说明 |
|---|---|
ImageProcessingTeachingApp.jl |
主模块:图像处理算法函数与 UI 回调 |
run_image_processing_app.jl |
图形界面创建与运行入口 |
test_image_processing_app.jl |
算法链路自动化测试 |
APP_DESIGNER_LAYOUT.md |
App Designer 布局与控件清单 |
1.png |
示例图像 |
sample_rgb_input.png / sample_processed_output.png / smoke_saved_output.png |
测试输入/输出样例 |
版本说明
V0.0.1,2026-05-26 10:34
- 初始版本
使用许可
本模型库版权由MoHub版权所有,未经许可,不得用于商业用途。
登录账号即可下载资源、参与讨论。