资源简介
给定皮肤镜黑素细胞瘤图像,检测毛发噪声,并修复毛发遮挡部位的信息。
皮肤镜图像毛发去噪,主要包括五个步骤:波谷检测器、阈值分割、区域生长、标记连通域、掩膜恢复重建 。
代码片段和文件信息
%%%% 皮肤镜图像毛发噪声的去除 主程序
clear
clc
close all
I = imread(‘test1.bmp‘); % 读入BMP测试图像
[mnk] = size(I);
figure(‘Numbertitle‘ ‘off‘ ‘Name‘ ‘皮肤镜图像(包含毛发噪声)‘);
imshow(I)
%% 波谷检测器
I_gray = rgb2gray(I);% 转灰度图像
figure(‘Numbertitle‘ ‘off‘ ‘Name‘ ‘皮肤镜图像(灰度图像)‘)
imshow(I_gray);
% B=[0 0 1 0 0
% 0 1 1 1 0
% 1 1 1 1 1
% 0 1 1 1 0
% 0 0 1 0 0];
I_close = imclose(I_gray strel(‘disk‘ 5)); % 灰度闭运算 得到平滑图像
figure(‘Numbertitle‘ ‘off‘‘Name‘ ‘平滑图像(形态学灰度闭运算)‘)
imshow(I_close)
I_noise = I_close - I_gray; % 波谷检测
figure(‘Numbertitle‘ ‘off‘ ‘Name‘ ‘毛发噪声图像(灰度)‘)
imshow(I_noise)
%% 阈值分割
I_BW = imbinarize(I_noise0.1); % 阈值分割,转化为二值图
figure(‘Numbertitle‘ ‘off‘ ‘Name‘ ‘毛发噪声图像(阈值分割)‘)
imshow(I_BW)
%% 区域生长
I_RG = zeros(mn);
threshold = 20; % 设置区域生长的灰度阈值
for loop = 1:10 % 生长次数
for i = 1:m
for j = 1:n
if I_BW(ij) == 1
seed = I_gray(ij);
if i>1 && i1 && j for u= -1:1 % 判断点周围八点是否符合阈值条件
for v= -1:1 % uv为偏移量
if abs(I_gray(i+uj+v)-seed)<=threshold % 判断是否符合阈值条件
I_RG(i+uj+v)=1; % 符合条件即将其在I_RG中与之位置对应的点设置为白场
end
end
end
end
end
end
end
end
figure(‘Numbertitle‘ ‘off‘ ‘Name‘ ‘毛发噪声图像(区域生长)‘)
imshow(I_RG)
%% 标记联通域
BW1 = bwareaopen(I_RG208); % 连通域分割
L = bwlabel(BW1); % 标记连通域
size = 20; % 设置连通域大小尺寸
I_mask = zeros(mn);
for i = 1:max(max(L))
% 初始化长宽值
x_max = 0;
y_max = 0;
x_min = m;
y_min = n;
for a = 1:m
for b = 1:n
if L(ab) == i
- 上一篇:自适应OFDM_malab仿真程序
- 下一篇:matlab 实现去噪各种算法
相关资源
- 开关型矢量中值滤波器matlab
- 低秩表示模型
- 数字图像处理作业
- 数字图像处理维纳滤波Matlab代码分享
- matlab图像边缘检测sobel算子梯度图像
- 基于matlab的指纹识别
- 图像畸变校正
- canny边缘检测算法_代码
- 指针式仪表识别方法,确定指针式仪
- 数字图像处理matlab源代码
- 阿尔法均值滤波函数
- mask与wallis影像图像匀光匀色算法的
- 完美可运行Google net
- 数字图像处理GUI界面设计
-
基于Matlab-Simuli
nk的遥感图像处理 - stucki 半色调 图像处理 二值 matlab
- stevenson 半色调 图像处理 二值 matlab
- burkers 半色调 matlab
- matlab图像处理gui49054
- MATLAB GUI图像处理
- 数字图像处理图像点运算和代数运算
- 图像处理梯度运算matlab
- 数字图像处理直方图规定化与均衡化
- 基于matlab的图像处理设计
- MATLAB处理医学图像
- MATLAB实现图像找茬程序
- 基于MATLAB的图像处理的课程设计图像
- 雷达图像处理的入门算法
- matlab图像处理小波变换m文件及部分注
- 数字图像处理DCT矩阵分块变换matlab程
评论
共有 条评论