数字图像处理技术的MATLAB实现案例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB材料科学图片处理案例

I = imread('bag.png');%读入系统自带的图片bag.png

figure, imshow(I);%创建图形窗口,在窗口中显示读入的图像

E = entropyfilt(I);

Eim = mat2gray(E);

imshow(Eim);%

BW1 = im2bw(Eim, .8);

imshow(BW1);%

figure, imshow(I);%创建新图形窗口

BWao = bwareaopen(BW1,2000);%这里可以看到BWao是BW+area+open的缩写

imshow(BWao); %

nhood = true(9);

closeBWao = imclose(BWao,nhood);%对前面的开启运算得到的图像再进行闭合运算

imshow(closeBWao)%

roughMask = imfill(closeBWao,'holes');%填充孔洞

imshow(roughMask);

figure, imshow(I);

I2 = I;

I2(roughMask) = 0;%图像透过遮罩,遮罩图像黑色部分可以透过去,白色部分透不过imshow(I2);

E2 = entropyfilt(I2);

E2im = mat2gray(E2);% 将矩阵转换成灰度图像

imshow(E2im);

BW2 = im2bw(E2im,graythresh(E2im));

imshow(BW2)

figure, imshow(I);

mask2 = bwareaopen(BW2,1000);

imshow(mask2);

texture1 = I;%将图像I复制为texture1

texture1(~mask2) = 0;%这里有个运算符号~,逻辑非,作用是将mask2黑白颠倒

texture2 = I;%将图像I复制为texture2

texture2(mask2) = 0;

%在MA TLAB中,~A代表“取逻辑非”的意思。但是实际上其意义要比通常的取逻辑非稍微广泛一点。

%假如A = 1,那么~A = 0;

%假如A = [0 1] ,那么~A = [1 0];

%假如A = [0 0 0],那么~A= [1 1 1];

%但是假如A= [3 4 5],那么~A = [0,0,0]。可见~A有那么一点“广义的逻辑非”的意思。imshow(texture1);

figure, imshow(texture2);

boundary = bwperim(mask2);%生成边界线

%BWPERIM函数能够起到探测灰度图象内部物体周边缘的作用,返回一幅相同尺寸的二值图象。

segmentResults = I;

segmentResults(boundary) = 255;%设置边界线颜色为白色

imshow(segmentResults);%

S = stdfilt(I,nhood);

imshow(mat2gray(S));

R = rangefilt(I,ones(5));

% rangefilt 函数句法为J = rangefilt(I, NHOOD),对输入图像I做距离滤波,由NHOOD指定领域

imshow(R);

MATLAB医学图像处理

load mri% 装入文件到MA TLAB的工作空间,其命令形式为load filename

D = squeeze(D);% squeeze函数去除掉维数为1的那个维度,这里由128×128×1×27变为128×128×27

image_num = 8;%对image_num赋值

image(D(:,:,image_num)) %第8张图片,图片尺寸为128×128

axis image %加上坐标

colormap(map) %色彩索引图为map

x = xlim;%函数形式为xlim, ylim, zlim,设置或者查询坐标范围

y = ylim;

contourslice(D,[],[],image_num)%画第8张图的等高线图

axis ij

xlim(x)%设定x坐标范围和上一张图一致

ylim(y)%设定y坐标范围和上一张图一致

daspect([1,1,1])%设置或者查询坐标轴的外观比例

colormap('default')%色彩索引图为默认

phandles = contourslice(D,[],[],[1,12,19,27],8); 画第1,12,19,27张图的等高线图

view(3); axis tight

set(phandles,'LineWidth',2)%设置线宽

Ds = smooth3(D);%平滑三维数据

hiso = patch(isosurface(Ds,5),...%生成面片三维图像

'FaceColor',[1,.75,.65],...%这里使用...进行程序换行连续

'EdgeColor','none');

hcap = patch(isocaps(D,5),...

'FaceColor','interp',...

'EdgeColor','none');

colormap(map)

colormap(map)

view(45,30)

axis tight %设置坐标轴范围为数据范围

daspect([1,1,.4])%设置坐标轴显示比例,这里Z轴比例为1:0.4

lightangle(45,30); %设置光线入射角度

set(gcf,'Renderer','zbuffer'); lighting phong%得到当前句柄,设置光照类型

相关文档
最新文档