一、实验目的
- 了解各类边缘的特点;
- 理解并掌握边缘检测的常用算子。
- 理解并掌握阈值分割,区域生长,分水岭等分割方法
- 能够运用以上方法解决实际的图像问题。
二、实验环境
MATLAB R2010b版本、WIN 7计算机
三、实验内容
读入一幅灰度图像CT.JPG,先分割肺实质区域,然后对感兴趣区域( 包括肺结节、肺血管和支气管等)进行边缘检测(比较canny算子和marr-Hildreth算子),最后提取感兴趣区。给出每步的实验结果图,并对结果进行比较分析。
提示:肺实质的提取可以先对图像进行阈值处理(比较所学的阈值方法,采用最优的),得到二值图像,然后进行形态学操作得到肺实质模板,将模板和CT图像相乘分割得到肺实质图像。感兴趣区域的提取可以运用阈值分割,区域生长,分水岭等方法。
灰度图像CT.JPG
阈值分割得到肺实质
分割肺实质 代码
。
- 肺实质提取
提取肺实质算法流程:
(1)全局阈值分割
(2)取反
(3)半径为13的圆形结构单元,进行闭运算
(4)取反
(5)孔洞填充
(6)掩膜相减
(7)用掩膜乘原图获得肺实质图像
%%手动阈值分割
clc
clear all;
close all;
[I,map]=imread('CT.jpg'); %读入图像
subplot(241);imshow(I),title('原始图像'); %显示图像
J=imhist(I);
subplot(242);imhist(I),title('直方图'); %生成直方图并显示
[M,N]=size(I); %返回图像的行数和列数
for i=1:1:M %将i以步长1从1增加到M
for j=1:1:N %将j以步长1从1增加到N
if I(i,j)>80 %如果图像阈值大于80
g(i,j)=0; %则大于80的就变成黑的
else g(i,j)=1; %小于80就变成白的
end
end
end
x=size(g,1); %此处分别获得该图片的长度和高度
y=size(g,2);
m=