Study-基于多尺度形态学提取眼前节组织

简介: Study-基于多尺度形态学提取眼前节组织

案例背景


  数学形态学图像处理应用广泛,可以用于图像去噪、特征提取、边缘检测、图像分割、 形状识别、纹理分析、图像恢复与重建、图像压缩等领域。数学形态学图像处理的基本思 想是构建具有--定形态的结构元素去匹配和提取图像中对应形状的位置,进而达到对图像 进行分析和识别的目的。


数学形态学图像处理以集合论为基础,通过结构化处理可以简化 图像数据,保持图像的基本形状特征,消除不必要的结构。常用的数学形态学运算有4个: 膨胀、腐蚀、开启和闭合,都可以应用于二值图像和灰度图像。


  在临床实验中,角膜中央厚度定位及测量的关键和前提是进行眼前节组织OCT图像 上下角膜的边缘检测。


如果使用传统的边缘检测算子来处理眼前节组织OCT图像,则容 易产生误检测、假边缘等缺点,使用数学形态学进行边缘检测可以克服传统算法的缺点, 取得较好的效果2)。本案例采用多尺度图像形态学处理的方法来提取眼前节组织OCT图像 的边缘,核心算法采用数学形态学进行处理。



理论基础简介


  数学形态学图像处理以集合论为理论基础,对图像进行形态学变换实质上是一种针对 集合的处理过程。形态学运算用于表示物体或形状的集合与形态学算子结构的相互作用, 并且形态学算子结构的形状决定了形态学运算所匹配目标的形状信息。


因此,对图像进行 数学形态学图像处理就是通过在图像中移动一个结构元素,并将该结构元素与对应的图像 块矩阵进行交、并等集合运算,得到处理结果矩阵。数学形态学图像处理的基本形态运算 是腐蚀和膨胀,然后可以延伸到开启和闭合。


  假设f(x,y)为输入图像,g(i,j) 为结构元素,⊕和θ分别表示形态学运算中的膨胀 运算符号和腐蚀运算符号,则可以得到灰度膨胀运算和灰度腐蚀运算如下叫。


灰度膨胀运算:f⊕g=max[f(x−i,y−j)+g(i,j)]

灰度腐蚀运算:fOg=min[f(x+i,y+j)−g(i,j)]


  假设数字图像矩阵为Uint8 类型(范围为0~255),则根据形态学运算的特点,膨胀 运算将超出边界的部分指定为图像数据类型最小值,即超出灰度图像的边界像素值为0; 腐蚀运算将超出边界的部分指定为图像数据类型最大值,即超出灰度图像的边界像素值为 255。


  多尺度形态学通过选定形态结构元素的类型及尺度来实现,如对图像应用某结构元素 进行膨胀运算,其尺度的选取可根据不同的情况来定。-般而言,随着选取的结构元素尺, 度的增大,计算量也会增加,甚至可能会对图像自身的几何形状产生影响,进而造成形态 处理结果不准确。适当地选择小尺度(- -般取2~5)的结构元素,可以在一定程度上提高 形态运算的效率及准确率。


  因此,通过应用不同尺度的结构元素进行边缘检测,再通过加 权融合的思想来整合检测到的边缘,可以在一-定程度上降低图像噪声的影响,进而提高边 缘检测的精度引。



程序设计


3.1 多尺度边缘


  图像边缘是指像素周围灰度值发生急剧变化的位置集合,是图像的基本特征之一。图 像边缘一般存在于目标、背景和区域之间,因此边缘提取是图像分割过程中经常采用的关 键步骤之一。


图像边缘根据样式大致可以分为两种: - -种是阶跃状边缘,该类边缘两边像 素的灰度值明显不同,呈现阶跃样式;另一-种是屋顶状边缘,该类边缘处于灰度值由小到 大再到小的峰值转折点处,呈现屋顶样式。因此,根据多尺度边缘检测的算法流程,编写 函数Multi_ Process 接收图像矩阵、形态学算子、尺度参数,并通过图像形态学变换进行图 像边缘的提取,函数代码如下所示。


function [Gi, ng] = Multi_Process(I, g, n)
if nargin < 3
    n = 6;
end
ng = g;
for i = 1:n
    ng = imdilate(ng, g);
end
Gi1 = imopen(I, ng); 
Gi1 = imdilate(Gi1, ng);
Gi2 = imclose(I, ng); 
Gi2 = imerode(Gi2, ng);
Gi = imsubtract(Gi1, Gi2);


3.3.2主处理函数


  根据前面介绍的相关理论,本实验默认采用5个不同方向的结构元素来进行形态学变 换。因此,为了方便地进行图像边缘提取,可编写主处理函数Main_ Process, 通过接收图 像矩阵、尺度值来作为输入参数,调用多尺度边缘提取函数Multi_ Process 和融合权值计算 函数Coef进行处理,最后通过调用图像加权融合函数Edge_One得到边缘融合结果并返回。 具体代码如下所示。


function result = Main_Process(Img, n)
if ndims(Img) == 3
    I = rgb2gray(Img);
else
    I = Img;
end
g1 = [0 1 0
    0 1 0
    0 1 0];
g2 = [0 0 0
    1 1 1
    0 0 0];
g3 = [0 0 1
    0 1 0
    1 0 0];
g4 = [1 0 0
    0 1 0
    0 0 1];
g5 = [0 1 0
    1 1 1
    0 1 0];
Gi1 = Multi_Process(I, g1, n);
Gi2 = Multi_Process(I, g2, n);
Gi3 = Multi_Process(I, g3, n);
Gi4 = Multi_Process(I, g4, n);
Gi5 = Multi_Process(I, g5, n);
G{1} = Gi1;
G{2} = Gi2;
G{3} = Gi3;
G{4} = Gi4;
G{5} = Gi5;
ua1 = Coef(Gi1, G);
ua2 = Coef(Gi2, G);
ua3 = Coef(Gi3, G);
ua4 = Coef(Gi4, G);
ua5 = Coef(Gi5, G);
u = [ua1, ua2, ua3, ua4, ua5];
u = u/sum(u);
Gf1 = Edge_One(G, u);
result = Gf1;
function ua = Coef(fa, f)
N = length(f);
s = [];
for i = 1 : N
    fi = f{i};
    si = supoles(fi, f);
    s = [s si];
end
sp = min(s(:));
sa = supoles(fa, f);
ka = sp/sa; 
k = 0;
for i = 1 : N
    fb = f{i};
    s = [];
    for i = 1 : N
        fi = f{i};
        si = supoles(fi, f);
        s = [s si];
    end
    sp = min(s);
    sb = supoles(fb, f);
    kb = sp/sa; 
    k = k + kb;
end
ua = ka/k;
function Gf = Edge_One(G, u)
if nargin < 2
    u = rand(1, length(G));
    u = u/sum(u(:));
end
Gf = zeros(size(G{1})); 
for i = 1 : length(G)
    Gf = Gf + u(i)*double(G{i});
end
Gf = im2uint8(mat2gray(Gf));


3.3.3形态学处理


  为了进行实验说明,可编写形态学处理脚本代码,通过加载图像进入主处理函数,计 算加权系数来进行融合,得到结果并显示。具体代码如下所示。


clc; clear all; close all;
if exist(fullfile(pwd, 'dt.mat'), 'file')
    load(fullfile(pwd, 'dt.mat'));
    figure;  imshow(result, []);
    return;
end
Img = imread('images\image.bmp'); 
Gf1 = Main_Process(Img, 1); 
Gf2 = Main_Process(Img, 2);
Gf3 = Main_Process(Img, 3); 
Gf4 = Main_Process(Img, 4);
Gf5 = Main_Process(Img, 5);
G{1} = Gf1;
G{2} = Gf2;
G{3} = Gf3;
G{4} = Gf4;
G{5} = Gf5;
ua1 = Coef(Gf1, G);
ua2 = Coef(Gf2, G);
ua3 = Coef(Gf3, G);
ua4 = Coef(Gf4, G);
ua5 = Coef(Gf5, G);
u = [ua1, ua2, ua3, ua4, ua5];
u = u/sum(u); 
Gf = Edge_One(G, u); 
result = Gf5;
figure;  imshow(result, []);



4. 实验结果


原图:

image.png

结果图:

image.png

  实验结果表明,基于多尺度形态学对眼前节组织图像进行边缘提取,能平滑原图像噪 声,有效识别上下角膜的边缘位置,避免了误检测、假边缘出现的情况,为眼前节组织图 像的进一步处理提供了依据。



5. 拓展


  基于数学形态学的图像处理技术以集合论为理论基础,通过构建形态结构算子来通过 非线性叠加的方式描述图像,通过集合的基本运算来进行图像处理。数学形态学广泛应用 于生物医学、电子显微镜图像分析、数字图像处理、计算机视觉等领域,已发展成为一种 新型的图像处理方法和理论。


  本案例以眼前节组织边缘提取为目标,以多尺度形态学处理为基础进行实验,通过建 立不同结构形态算子的边缘提取,以及计算加权算子的方式来进行边缘图像的融合,有效 克服了传统边缘检测算子对眼前节组织边缘提取不准确的问题,具有一定的使用价值。 但 该算法运行耗时较长,在算法性能及程序的优化编码上具有一定的提升空间。



相关文章
|
5月前
|
数据采集 算法 安全
CVPR 2024:给NeRF开透视眼!稀疏视角下用X光进行三维重建,9类算法工具包全开源
【6月更文挑战第28天】CVPR 2024亮点:SAX-NeRF框架开源!融合X光与NeRF,提升3D重建效果。X3D数据集验证,Lineformer+MLG策略揭示物体内部结构,增强几何理解。虽有计算成本及泛化挑战,但为计算机视觉和医学影像开辟新路径。[论文链接](https://arxiv.org/abs/2311.10959)**
158 5
|
6月前
|
机器学习/深度学习 编解码 数据可视化
Mamba入局遥感图像分割 | Samba: 首个基于SSM的遥感高分图像语义分割框架
Mamba入局遥感图像分割 | Samba: 首个基于SSM的遥感高分图像语义分割框架
137 3
|
6月前
|
数据可视化 算法 数据挖掘
R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化
R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化
|
6月前
|
数据可视化 算法 数据挖掘
PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化
PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化
|
6月前
|
编解码 算法 自动驾驶
【计算机视觉】基于光流特征的目标跟踪算法LK光流法的讲解(图文解释 超详细)
【计算机视觉】基于光流特征的目标跟踪算法LK光流法的讲解(图文解释 超详细)
401 0
|
算法 计算机视觉 网络架构
【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)(一)
【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)(一)
190 0
|
计算机视觉
【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)(二)
【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)(二)
73 0
|
机器学习/深度学习 传感器 算法
【图像隐藏】基于混沌的DCT变换域图像数字水印嵌入提取攻击附matlab代码
【图像隐藏】基于混沌的DCT变换域图像数字水印嵌入提取攻击附matlab代码
|
机器学习/深度学习 编解码 人工智能
2022最新综述!一文详解多目标跟踪方法最新进展(单帧/多帧/特征/相关性)
多目标跟踪(MOT)旨在跨视频帧关联目标对象,以获得整个运动轨迹。随着深度神经网络的发展和对智能视频分析需求的增加,MOT在计算机视觉领域的兴趣显著增加。嵌入方法在MOT中的目标位置估计和时间身份关联中起着至关重要的作用,与其他计算机视觉任务(如图像分类、目标检测、重识别和分割)不同,MOT中的嵌入方法有很大的差异,并且从未被系统地分析和总结。本综述首先从七个不同的角度对MOT中的嵌入方法进行了全面概述和深入分析,包括补丁级嵌入、单帧嵌入、跨帧联合嵌入、相关嵌入、顺序嵌入、小轨迹嵌入和跨轨迹关系嵌入。论文进一步总结了现有广泛使用的MOT数据集,并根据其嵌入情况分析了现有最先进方法的优势策略。
2022最新综述!一文详解多目标跟踪方法最新进展(单帧/多帧/特征/相关性)
|
机器学习/深度学习 存储
PIE-Engine 教程:水稻面积提取2—监督分类(宿迁市)
PIE-Engine 教程:水稻面积提取2—监督分类(宿迁市)
265 0
PIE-Engine 教程:水稻面积提取2—监督分类(宿迁市)