图像处理APP

基于 Syslab App Designer 搭建的交互式图像处理教学应用,使用 TyImageProcessingTyAppDesigner 实现图像读取、基础处理、图像增强、滤波去噪、边缘检测、形态学处理与教学实验流程的图形化操作,直观展示各类图像处理算法的效果,是数字图像处理与计算机视觉课程的可视化教学工具。

适用课程、行业与场景

本案例适用于数字图像处理、计算机视觉、信号与图像处理、模式识别、图形界面开发与工程软件应用等课程教学;面向图像处理、计算机视觉、医疗影像、工业检测、机器视觉等行业的研发与教学人员;可用于图像处理算法效果的直观演示与对比,灰度化、直方图均衡、滤波去噪、边缘检测、形态学处理等知识点的实验教学,以及 Syslab App Designer 图形界面开发的教学示范等场景。

功能模块

应用按教学流程划分为七大功能区:

功能区 主要操作 说明
文件信息 选择/读取/保存/重置/清空图像 显示路径、尺寸、通道数与类型
基础处理 灰度化、缩放、反色、直方图 多种插值缩放与直方图统计
图像增强 直方图均衡、反色、颜色压缩、抖动 颜色量化与抖动处理
滤波去噪 加噪、均值/高斯/中位数/锐化滤波、去噪对比 噪声模拟与降噪滤波
边缘检测 Sobel/Prewitt/Roberts/Canny、阈值、叠加 边缘提取与可视化
形态学处理 腐蚀/膨胀/开/闭运算/顶帽/底帽/孔洞填充 二值图像形态学
教学实验流程 5 个一键实验 灰度与直方图、缩放插值对比、加噪去噪、边缘检测、形态学目标提取

核心算法与技术细节

图像读取与表示

  • 使用 imread / imwrite 读写图像,自动识别 RGB(三通道)、灰度与二值图(Bool)类型。
  • 状态由 ImageTeachingState 统一管理,保存 originalImagecurrentImagegrayImagenoisyImagefilteredImageedgeImagemorphImagemiddleImagehistImage 及各阶段处理历史 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版权所有,未经许可,不得用于商业用途。