1、医学图像处理与成像技术实验报告实验一 将真彩色图象转化为灰度图象并进行变换一、实验目的1、 了解图像处理基本方法、理解图像颜色空间基本操作及相互变换方法;2、 了解并掌握Matlab图像处理算法实现的基本过程;3、 掌握彩色图像处理和变换基本方法(Matlab/VC+实现);4、 熟悉并理解灰度图像的基本操作和变换。2、实验内容将所给图像进行不同颜色空间转换(在Matlab下实现),观察图像特征及理解图像 转换基本关系式和不同分量特征。3、实验源程序1. 将彩色图变换为灰度图像m文件:function Y, I, Q = RGB2YIQ(seq)N M c num = size(seq);Y
2、= zeros(N, M, num);I = zeros(N, M, num);Q = zeros(N, M, num);frames = double(seq);for i = 1 : N for j=1:M Y(i,j,1) = 0.10 * frames(i,j,1) + 0.60 * frames(i,j,2) + 0.30 * frames(i,j,3); endendcommand窗口命令:seq=imread(pretty girl.jpg);Y, I, Q = RGB2YIQ(seq);subplot(1,2,1),imshow(seq),title(原彩色图);subplot
3、(1,2,2),imshow(uint8(Y),title(灰度图);变换所得图像如下:2. 将彩色图变换为HSV空间的图command窗口命令:seq=imread(pretty girl.jpg);hsv=RGB2HSV(seq);figure(1);subplot(1,2,1),imshow(seq),title(原彩色图);subplot(1,2,2),imshow(hsv),title(HSV空间图);变换所得图像如下:3. 将彩色图变换为YCBCR空间的图command窗口命令:ycbcr=RGB2YCBCR(seq);figure(2);subplot(1,2,1),imshow
4、(seq),title(原彩色图);subplot(1,2,2),imshow(ycbcr),title(YCBCR空间图);变换所得图像如下:实验二 图像的FFT变换实验一、实验目的1、 练习Visual C+的一些FFT变换的算法实现方式;2、 编写Visual C+关于图像的FFT变换函数的编写和调试;3、 熟悉FFT变换在图像处理中的作用及功能;4、 熟悉FFT变换后的显示基本算法;5、学会编写图像的FFT变换相关函数:二、实验源程序及处理结果1. 对图像blobs.png进行二维傅里叶变换S=imread(blobs.png);K=fft2(S);Y=fftshift(K);figu
5、re(1);subplot(121),imshow(S);title(原灰度图图);subplot(122),imshow(Y);title(二维傅里叶变换图像);变换所得图像如下:2. 图像blobs.png二维傅里叶变换的频谱S=imread(blobs.png);figure(2);Y=fftshift(fft2(S);subplot(121),imshow(S);title(原灰度图);subplot(122),imshow(log(abs(Y),);title(傅里叶变换后的频谱);变换所得图像如下:实验三 图像增强设计实验一、设计任务与要求编程实现下列功能:读出以BMP格式存储的黑
6、白灰度图象并显示,显示灰度直方 图, 对图象进行直方图均衡化处理,显示处理后图象及直方图,画出灰度变换曲线,以 BMP格式存储处理后图象。二、实验源程序1. 显示灰度直方图调用函数方式S=imread(model.bmp);figure(1);subplot(121);imshow(S);title(原黑白灰度图像);subplot(122);imhist(S),title(变换后的灰度直方图);xlabel(灰度值); ylabel(概率密度);变换所得图像如下:2. 提高对比度调用函数方式(将图像的灰度值扩散到整个灰度范围中)S=imread(model.bmp);M=histeq(S);
7、figure(2);subplot(121);imshow(S);title(原黑白灰度图像);subplot(122);imshow(M),title(变换后的图);变换所得图像如下:3. 获得灰度直方图并进行直方图均衡化处理S=imread(model.bmp);m,n=size(S); M=zeros(1,256); for k=0:1:255 M(k+1)=length(find(S=k)/(m*n); end figure(1);subplot(221) ,imshow(S);title(原灰度图);figure(1);subplot(222);bar(0:1:255,M,g); t
8、itle(原图像直方图); xlabel(灰度值); xlabel(灰度值); S1=zeros(1,256); for i=1:1:256 for j=1:i S1(i)=M(j)+S1(i); end end S2=round(S1*256);for i=1:256 Meq(i)=sum(M(find(S2=i);end figure(1),subplot(223);bar(0:1:255,Meq,b); title(均衡化后的直方图); xlabel(灰度值); ylabel(概率密度); figure(1);subplot(224);plot(0:1:255,S2,r); legend
9、(灰度变化曲线); xlabel(原图像灰度级); ylabel(均衡化后灰度级);变换所得图像如下:4. 对图像进行均衡化处理K=S; for i=0:255 K(find(S=i)=S2(i+1);end figure(2);subplot(121) ;imshow(S);title(原灰度图);figure(2);subplot(122);imshow(K); title(均衡化后图像) ;变换所得图像如下:5. 用PS软件进行处理5.1 原始图像及其直方图:5.2 增强对比度后的图像及其直方图:5.3 观察lena.bmp的原图像及直方图,并进行变换5.3.1 原始图像及其直方图:5.
10、3.2 进行灰度(反相)变换后的图像及其直方图:5.3.3 平滑处理后的图像及其直方图:5.3.4 直方图均衡化处理后的图像及其直方图:5.3.5 图像锐化处理后的图像及其直方图:实验四 图像分割设计实验一、设计任务与要求1、编程实现下列功能:读出以BMP格式存储的黑白灰度图象并显示,用拉普拉斯算 子对图象进行边缘检测,显示处理后图象,以BMP格式存储处理后图象。2、编程实现下列功能:读出以BMP格式存储的黑白灰度图象并显示,用鼠标点击图象上某一 点,以灰度相近原则进行区域生长,显示处理后图象,以BMP格式存储处理后图象。二、实验源程序及处理结果1. 对图像进行边缘检测,程序如下:1. S=i
11、mread(pepper.bmp);figure(1);subplot(121);imshow(S);title(原灰度图);ban=1 1 1;1 -8 1;1 1 1;K=edge(uint8(S),log);figure(1);subplot(122);imshow(K);title(边缘检测结果);imwrite(k,new.bmp);变换所得图像如下:2. 图像分割处理,程序如下:RAM=imread(pepper.bmp);figure(1);subplot(121);imshow(RAM),title(原始图像);RAM=double(RAM);M,N=size(RAM);y,x
12、=getpts; x1=round(x); y1=round(y); seed=RAM(x1,y1); Y=zeros(M,N); Y(x1,y1)=1; sum=seed; suit=1; count=1; threshold=15; while count0s=0; count=0;for i=1:Mfor j=1:Nif Y(i,j)=1if (i-1)0 & (i+1)0 & (j+1)(N+1) for u= -1:1 for v= -1:1 if Y(i+u,j+v)=0 & abs(I(i+u,j+v)-seed)0.8%Y(i+u,j+v)=1; count=count+1; s=s+RAM(i+u,j+v); endend endendendendendsuit=suit+count;sum=sum+s;seed=sum/suit;endfigure(1);subplot(122);imshow(Y),title(分割后图像);imwrite(Y,Q.bmp);变换所得图像如下:3. 模板匹配(PS中进行处理)3. 1 点击模板,则出现如下对话框 3. 2 根据需要设定模板矩阵的值(纵向梯度)3. 3 处理结果如下:3. 4 根据需要设定模板矩阵的值(对角线方向)3. 5 处理结果如下:3. 6 根据需要设定模板矩阵的值(横向梯度)3. 7 处理结果如下:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1