資源簡介
給定皮膚鏡黑素細胞瘤圖像,檢測毛發噪聲,并修復毛發遮擋部位的信息。
皮膚鏡圖像毛發去噪,主要包括五個步驟:波谷檢測器、閾值分割、區域生長、標記連通域、掩膜恢復重建 。
代碼片段和文件信息
%%%%?皮膚鏡圖像毛發噪聲的去除?主程序
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 實現去噪各種算法
評論
共有 條評論