医学数字图像处理实验报告
医学图像处理实验报告
d、分别对其进行10*10、5*5、2*2的均值滤波;
e、显示原图像和选用不同大小模版处理后的图像。
(3)高斯滤波
a、读入图像;
b、对数字图像进行直方图均衡化处理;
c、选择高斯滤波参数(标准差)sigma为1.6;
d、选择滤波器尺寸为5*5;
i、显示原图像和处理后的图像。
(2)四八领域均值滤波
a、读入图像;
b、转换图像矩阵为双精度型;
c、创建4邻域平均滤波模版[0 1 0; 1 0 1; 0 1 0];
创建8邻域平均滤波模版[1 1 1; 1 0 1; 1 1 1];
d、进行滤波;
e、显示原图像和处理后图像。
(3)巴特沃斯高通滤波
a、读取图像;
e、创建高斯滤波器进行滤波;
f、显示原图像和处理后的图像。
3
(1)同态滤波
a、读入图像;
b、对数字图像进行直方图均衡化处理;
c、转换图像矩阵为双精度型;
d、取对数;
e、对其做傅里叶变换;
f、选择参数,截止频率为10,锐化系数为2, =1.5, =2.0;
g、进行高斯同态滤波;
h、滤波之后进行傅里叶逆变换;
c、显示原图像和经过均衡化处理过的图像;
d、记录和整理实验报告。
(2)中值滤波加直方图均衡化
a、将模板在图中漫游,并将模板中心与图中某个像素位置重合;
b、读取模板下各对应像素的灰度值;
c、将这些灰度值从小到大排成1列;
d、找出这些值中排在中间的1个;
e、将这个中间值赋给对应模板中心位置的像素;
f、中值滤波之后的像素值进行直方图均衡化处理;
《数字图像处理》实验报告
《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。
在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。
首先,我们进行了图像的读取和显示实验。
通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。
这为我们后续的实验奠定了基础。
同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。
这使我们能够更好地理解后续实验中的算法和操作。
接下来,我们进行了图像的灰度化实验。
灰度化是将彩色图像转换为灰度图像的过程。
在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。
通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。
随后,我们进行了图像的直方图均衡化实验。
直方图均衡化是一种用于增强图像对比度的方法。
在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。
通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。
在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。
滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。
在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。
通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。
此外,我们还进行了图像的边缘检测实验。
边缘检测是一种用于提取图像边缘信息的方法。
在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。
通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。
最后,我们进行了图像的压缩实验。
图像压缩是一种将图像数据进行压缩以减小文件大小的方法。
(完整word版)数字图像处理实验报告6
(完整word版)数字图像处理实验报告6数字图像处理与分析实验报告学院:班级:姓名:学号:实验六细胞图像的分割与测量一、实验目的1. 通过分析细胞图像特点,完成细胞图像的分割和测量,并分析测量结果。
2. 将图像预处理、分割、分析等关键技术结合起来,理论与实践相结合,提高图像处理关键技术的综合应用能力。
二、实验要求1. 对比中值、均值和形态学开闭运算对细胞图像的滤波效果,选择适用于细胞图像的滤波方法2. 运用大津阈值对细胞图像分割,观察分割后噪声情况,观察目标边缘处的分割效果;(使用函数:im2bw)3. 实现连通区域的编号;(使用函数:bwlabel)4. 计算各连通区域的相关信息,如面积、重心等。
(使用函数:regionprops )三、实验步骤1、预处理去噪x=imread('C:\Documents and Settings\Administrator\桌面\CHEN2-7.BMP');y=medfilt2(rgb2gray(h));subplot(2,2,1)imshow(x)title('原图像');subplot(2,2,2)imshow(y)title('中值滤波处理');I=fspecial('average')z=imfilter(rgb2gray(x),I);subplot(2,3,4)imshow(z)title('均值滤波处理');se = strel('ball',5,5);m = imopen(rgb2gray(x),se);subplot(2,3,5)imshow(m)title('形态学开运算处理');se = strel('ball',5,5);n = imclose(rgb2gray(x),se);subplot(2,3,6)imshow(n)title('形态学闭运算处理');2、大津阈值分割先做出灰度图像的直方图,根据直方图选取合适的分割灰度值x=imread('C:\Documents and Settings\Administrator\桌面\CHEN2-7.BMP');b=rgb2gray(x);imhist(b);title('灰度直方图');由上图可知,选择阈值在185/255附近可以达到最好的分割效果,则有:x=imread('C:\Documents and Settings\Administrator\桌面\CHEN2-7.BMP'); b=rgb2gray(x);y1=medfilt2(b);w1=im2bw(y1,185/255);h=fspecial('average') ;y2=imfilter(b,h);w2=im2bw(y2, 185/255);se=strel('line',11,90);y3=imopen(b,se);w3=im2bw(y3, 185/255);y4=imclose(b,se);w4=im2bw(y4, 185/255);figuresubplot(2,2,1)imshow(w1)title('中值大津阈值分割');subplot(2,2,2)imshow(w2)title('均值大津阈值分割');subplot(2,2,3)imshow(w3);title('开运算大津阈值分割');subplot(2,2,4)imshow(w4);title('闭运算大津阈值分割');3、目标编号标记x=imread('C:\Documents and Settings\Administrator\桌面\CHEN2-7.BMP'); b=rgb2gray(x);se=strel('ball',5,5);y4=imclose(b,se);w4=im2bw(y4, 185/255);z=imcomplement(w4);subplot(2,2,1)imshow(z);title('取反后图像')z=bwareaopen(z,200);subplot(2,2,2);imshow(z);title('去除像素点小于200的部分')BW = logical(z);L = bwlabel(BW,4);subplot(2,2,3);imshow(L);title('四连通')M=bwlabel(BW,8);Subplot(2,2,4)imshow(M);title('八连通')4、测量各个细胞的面积等参数x=imread('C:\Documents and Settings\Administrator\桌面\CHEN2-7.BMP'); b=rgb2gray(x);se = strel('ball',5,5);I0=imclose(b,se);I11=im2bw(I0,185/256);I12=imcomplement(I11);I13= bwlabel(I12);s = regionprops(I13, 'centroid');centroids = cat(1, s.Centroid);figure(1);imshow(I13)title('重心标记图');hold onplot(centroids(:,1), centroids(:,2), 'r*')hold offm=regionprops(I13,'Area');areas=cat(1, m.Area);figure(3);plot(areas)如图为重心标记和各区域面积分布图:1.为何需要预处理?直接分割的效果如何?答:如果不进行预处理,在后续处理时如进行阈值分割会产生边缘毛刺,使效果不明显;2.选择何种预处理方法?a) 中值适合于去除脉冲噪声和图像扫描噪声,同时不会使图像变模糊,但对消除细节较多的图像不适合用中值滤波;b) 均值可以有效的是噪声得到消除,但同时图像变得模糊,丢失了一些图像的细节部分;c) 形态学开运算对于消除背景噪声有很好的效果,尤其是一些胡椒噪声;d) 形态学闭运算对消除前景噪声效果较好,如:沙眼噪声;通过以上分析及结合图像处理效果可以得出,利用形态学开闭运算对滤除图像中的沙眼噪声和胡椒噪声效果较好;3.分析预处理的目的,有针对性的选择合适的方法答:预处理的目的是为了事先消除图像的噪声,好为后处理做准备;四、思考题1.若将预处理去噪的步骤省掉,则如何在目标编号的过程中加入滤波处理;答:若预处理中没有去噪步骤,从图像处理结果可以看出,经过阈值分割后,图像中还有很多椒盐噪声,要在编号中滤除这些噪声,可通过形态学开运算后,再进行取反操作等后续操作;2.将去噪过程与阈值分割前后调换,选择哪种滤波方法可以滤除二值图像上的噪声;答:通过阈值分割之后,图像中有很多胡椒噪声,可通过形态学开操作将其去除;3.总结大津阈值在细胞图像分割中存在的问题,想一想你所学的算法中哪种算法更适合于细胞图像的分割。
医学像处理与分析实验报告
医学像处理与分析实验报告实验目的:本实验旨在探究医学像处理与分析的方法和技术,分析其在医学领域中的应用和意义。
实验材料和设备:1. 医学像处理和分析软件2. 计算机3. 医学影像数据(如CT扫描、MRI图像等)4. 数据记录表格实验步骤:1. 数据准备收集实验所需医学影像数据,包括CT扫描、MRI图像等。
确保数据完整、清晰,并妥善保存。
2. 医学像处理使用医学像处理软件对所收集的影像数据进行处理。
处理包括但不限于以下步骤:- 图像增强:通过调整亮度、对比度等参数来改善图像质量和清晰度。
- 噪声去除:运用滤波器等技术降低或去除图像中的噪声。
- 图像重建:使用重建算法对三维医学影像数据进行处理,以生成更准确的图像。
3. 医学像分析利用医学像处理后的图像数据进行进一步的分析。
分析方法包括但不限于以下方面:- 区域测量:通过选择特定区域并测量其大小、体积等参数,来评估病变或器官的状态。
- 密度分布:通过绘制直方图、密度图等,分析图像中的密度分布情况,以便检测异常。
- 三维可视化:将三维医学影像数据进行重建和可视化,帮助医生更直观地观察和分析。
4. 数据分析和结果呈现根据医学像分析的结果,进行数据统计和分析。
将结果以图表、表格等形式呈现,清晰展示实验的结果和结论。
实验结果与讨论:经过医学像处理和分析,我们得到了一系列医学图像的处理结果和分析数据。
根据所获得的结果,我们可以得出以下结论:1. 医学像处理可以有效改善图像的质量和清晰度。
通过图像增强和噪声去除等技术,可以使医生在诊断时更准确地观察和判断。
2. 医学像分析可以提供更多有关病变或器官状态的信息。
通过区域测量、密度分布等方法,可以定量评估病变的大小、体积以及密度的异常情况。
3. 三维可视化技术可以使医生更直观地观察和分析医学影像数据。
通过重建和可视化,医生可以更清楚地了解病变的位置和形态,为治疗提供指导。
综上所述,医学像处理与分析在医学领域中具有重要的应用价值。
医学图像处理实验报告(要)
医学图像处理实验报告Lab Report of Medical ImageProcessing系部:学号:姓名:指导教师:实验1 MATLAB基本操作及函数用法1.1 实验原理介绍1.1.1读取函数函数imread可以将图像读入MATLAB环境,语法为:imread('filename')其中filename是一个含有图像文件全名的字符串(包括任何可用的扩展名)。
例如命令行>>f = imread ( 'chestxray.jpg');将JPEG图像chestxray读入图像数组f中。
函数size可以给出一副图像的行数和列数:>>size (f)ans-10241024函数whos可以显示一个数组的基本附加信息。
例如,语句>>whos fwhos行结尾处的分号对结果没有影响。
1.1.2 显示图像一般使用函数imshow显示,其基本语法为:imshow (f, G)其中,f是一个图像数组,G是显示该图像的灰度级数。
若G省略,默认为256。
语法:imshow {f, [low high]}会将所有小于或等于low的值都显示为黑,所有大于或等于high的值都显示为白色。
介于low和high之间的值将以默认的级数显示为中等亮度值。
当用imshow显示另外一幅图像时,MATLAB会在屏幕上用新图像替换旧图像,为保持第一幅图像并同时显示第二副图像,可以使用如下figure函数:>>figure, imshow(g)要了解图像文件的其他详细信息,可以使用imfinfo函数,其语法结构为:imfinfo filename其中,filename是存储在磁盘中的图像全名。
1.1.3 保存图像使用函数imwrite可以将图像写在磁盘上,该函数语法为:imwrite (f, ‘filename’)下面的命令可以把图像f写为TIFF格式,在默认情况下使用语句>>imwrite (f,'patient10_run1', 'tif')或>>imwrite (f, 'patient10_run1.tif')会将文件保存到当前的工作目录中。
数字图像处理实验报告:灰度变换与空间滤波(附带程序,不看后悔)
1.灰度变换与空间滤波一种成熟的医学技术被用于检测电子显微镜生成的某类图像。
为简化检测任务,技术决定采用数字图像处理技术。
发现了如下问题:(1)明亮且孤立的点是不感兴趣的点;(2)清晰度不够,特别是边缘区域不明显;(3)一些图像的对比度不够;(4)技术人员发现某些关键的信息只在灰度值为I1-I2的范围,因此,技术人员想保留I1-I2区间范围的图像,将其余灰度值显示为黑色。
(5)将处理后的I1-I2范围内的图像,线性扩展到0-255灰度,以适应于液晶显示器的显示。
请结合本章的数字图像处理处理,帮助技术人员解决这些问题。
1.1问题分析及多种方法提出(1)明亮且孤立的点是不够感兴趣的点对于明亮且孤立的点,其应为脉冲且灰度值为255(uint8)噪声,即盐噪声,为此,首先对下载的细胞图像增加盐噪声,再选择不同滤波方式进行滤除。
均值滤波:均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。
优点:速度快,实现简单;缺点:均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。
其公式如下:使用矩阵表示该滤波器则为:中值滤波:滤除盐噪声首选的方法应为中值滤波,中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
其过程为:a 、存储像素1,像素2.....像素9的值;b 、对像素值进行排序操作;c 、像素5的值即为数组排序后的中值。
优点:由于中值滤波本身为一种利用统计排序方法进行的非线性滤波方法,故可以滤除在排列矩阵两边分布的脉冲噪声,并较好的保留图像的细节信息。
缺点:当噪声密度较大时,使用中值滤波后,仍然会有较多的噪声点出现。
医学图像处理课程仿真实训总结
医学图像处理课程仿真实训总结在当今医学领域,医学图像处理技术的重要性日益凸显。
为了更好地掌握这一关键技术,我们参与了医学图像处理课程的仿真实训。
通过这次实训,我们不仅深化了对理论知识的理解,还积累了宝贵的实践经验,为未来在医学领域的工作和研究打下了坚实的基础。
一、实训背景与目标医学图像处理是一门融合了医学、计算机科学和数学等多学科知识的交叉学科。
它旨在通过对医学图像的获取、处理和分析,为临床诊断、治疗和医学研究提供有价值的信息。
本次仿真实训的主要目标是让我们熟悉医学图像处理的基本流程和常用方法,掌握相关软件工具的使用,提高我们解决实际问题的能力。
二、实训内容与方法(一)图像获取与预处理在实训的初始阶段,我们学习了如何从各种医学成像设备(如 X 射线、CT、MRI 等)中获取图像数据,并对其进行预处理。
预处理包括图像格式转换、去噪、增强等操作,以提高图像的质量和可读性。
(二)图像分割与特征提取图像分割是将图像中的不同区域划分出来,以便进一步分析。
我们尝试了多种分割方法,如阈值分割、区域生长、边缘检测等,并结合实际图像进行了实践。
特征提取则是从分割后的图像中提取出有意义的特征,如形状、大小、纹理等,为后续的诊断和分析提供依据。
(三)图像配准与融合为了综合利用不同模态的医学图像信息,我们学习了图像配准和融合技术。
通过将不同时间、不同设备获取的图像进行精确配准,并将其融合成一幅更全面、更准确的图像,为医生提供更丰富的诊断依据。
(四)图像可视化与分析最后,我们学会了如何将处理后的图像进行可视化展示,以便更直观地观察和分析结果。
同时,还运用了一些定量分析方法,如测量病变区域的大小、体积等,为临床诊断提供更准确的数据支持。
在实训过程中,我们主要使用了 MATLAB、Python 等编程语言和相关的图像处理库,如 OpenCV、ITK 等。
通过编写代码实现各种图像处理算法,加深了对算法原理的理解和掌握。
三、遇到的问题与解决方法(一)图像质量不佳在获取的医学图像中,有时会存在噪声、模糊等问题,影响后续的处理和分析。
数字图像实验报告 医学图像频域滤波与图像复原
实验七医学图像频域滤波与图像复原实验目的:1.熟悉医学图像离散傅里叶变化的原理和方法;2.掌握医学图像频域滤波的原理;3.掌握使用Matlab中的函数实现医学图像进行频域滤波的方法;4.掌握使用Matlab中的图像退化与复原的方法;实验内容:一、医学图像频域滤波方法与实现使用imnoise给图像BMRI1_24bit.bmp添加概率为0.2的椒盐噪声,对原图像和加噪声后的图像进行傅氏变换并显示变换后的移中频谱图,然后分别使用Butterworth低、高通滤波器对噪声图像进行低通和高通滤波,显示D0为5,10,20,40时的滤波效果图,并说明存两种滤波效果中所存在的差异及原因。
答:>> f=imread('BMRI1_24bit.bmp');>> f=rgb2gray(f);>> g=imnoise(f,'salt & pepper',0.2);>> f=double(f);>> g=double(g);>> F1=fft2(f);>> F2=fft2(g);>> FC1=fftshift(F1);>> FC2=fftshift(F2);>> f=ifft2(F1);>> g=ifft2(F2);>> imshow(uint8(f));title('逆变换后原图像');>> figure,imshow(uint8(g));title('逆变换后的椒盐噪声原图像');>> figure,imshow(F1);title('原图像的傅氏变换');>> figure,imshow(F2);title('椒盐噪声原图像的傅氏变换');>> figure,imshow(log(1+abs(FC1)),[]);title('原图像的移中频谱图');>> figure,imshow(log(1+abs(FC2)),[]);title('椒盐噪声原图像的移中频谱图');Butterworth低通滤波器Butterworthd.mfunction Butterworthd(I)I=rgb2gray(I);[M,N]=size(I);m=fix(M/2);n=fix(N/2);%形容图像的中心点nn=3;%三阶prompt={'Iuput Filter Cutoff(d0):'}; defans={'5'};i=inputdlg(prompt,'input',1,defans);d0=str2num(i{1});% d0=5;% for k=1:4F=fft2(I);FC=fftshift(F);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+(d/d0)^(2*nn));FC(i,j)=h*FC(i,j);endendF=ifftshift(FC);I=ifft2(F);I=uint8(real(I));%real提取它的实部figure,imshow(I);title(['低通d0=',num2str(d0)]);% d0=d0*2;% end>> f=imread('BMRI1_24bit.bmp');>> g=imnoise(f,'salt & pepper',0.2);>> Butterworthd(g);Butterworth高通滤波器Butterworthg.mfunction Butterworthg(I)I=rgb2gray(I);[M,N]=size(I);m=fix(M/2);n=fix(N/2);%形容图像的中心点nn=3;%三阶prompt={'Iuput Filter Cutoff(d0):'};defans={'5'};i=inputdlg(prompt,'input',1,defans);d0=str2num(i{1});% d0=5;%for k=1:4F=fft2(I);FC=fftshift(F);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+(d0/d)^(2*nn));FC(i,j)=h*FC(i,j);endendF=ifftshift(FC);I=ifft2(F);I=uint8(real(I));%real提取它的实部figure,imshow(I);title(['高通d0=',num2str(d0)]);%d0=d0*2;%end>> f=imread('BMRI1_24bit.bmp');>> g=imnoise(f,'salt & pepper',0.2); >> Butterworthg(g);图像从空间域变换到频率域后,其低频分量对应图像中灰度值变化比较缓慢的区域,高频分量则表征图像中物体的边缘和随机噪声等信息。
最新医学图像处理实验报告
(1)直方图均衡化
直方图是图像的最基本的统计特征,它反映的是图像的灰度值的分布情况。直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。灰度直方图是图像预处理中涉及最广泛的基本概念之一。
图像的直方图事实上就是图像的亮度分布的概率密度函数,是一幅图像的所有象素集合的最基本的统计规律。直方图反映了图像的明暗分布规律,可以通过图像变换进行直方图调整,获得较好的视觉效果。
(3)高斯滤波
高斯滤波器的二维形式为: ,D(u,v)是距频率矩形中心的距离。 是关于中心的扩展度的度量。通过令 ,该滤波器可表示为:
其中, 是截止频率。当 时,H下降到其最大值的0.607处。
3
(1)同态滤波
同态滤波是把频率过滤和灰度变换结合起来的一种图像处理方法,它依靠图像的照度/反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。使用这种方法可以使图像处理符合人眼对于亮度响应的非线性特性,避免了直接对图像进行傅立叶变换处理的失真。
医学图像处理实验报告
班级专业姓名学号
实验
一、实验目的
1:理解并掌握常用的图像的增强技术。
2:熟悉并掌握MATLAB图像处理工具箱的使用。
3:实践几种常用数字图像增强的方法,增强自主动手能力。
二、实验任务
对于每张图像(共三张图片),实现3种图像增强方法。根据图像的特点,分别选用不用的图像增强算法。
三、实验内容(设计思路)
直方图均衡化是指:采用累积分布函数(CDF)变化生成一幅图像,该图像的灰度级较为均衡化,且覆盖了整个范围[0,1],均衡化处理的结果是一幅扩展了动态范围的图像。直方图均衡化就是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。主要用途是:将一幅灰度分布集中在较窄区间,细节不够清晰的图像,修正后使图像的灰度间距增大或灰度分布均匀,令图像的细节清晰,达到图像增强的目的。
数字图像处理实验报告
数字图像处理实验报告目录1.数字图像处理简介2.实验目的3.实验内容4.实验结果及代码展示5.算法综述6.M atlab优势7.总结8.存在问题一、数字图像处理简介图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。
图像处理是信号处理在图像域上的一个应用。
目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。
此外,基于光学理论的处理方法依然占有重要的地位。
图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。
传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。
然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。
二、实验目的巩固所学知识,提高所学能力三、实验内容利用matlab的GUI程序设计一个简单的图像处理程序,并含有如下基本功能:1. 读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题2. 对给定图像进行旋转3.对给定的图像添加噪声(椒盐噪声、高斯噪声)四、实验结果及代码展示1.软件设计界面2.各模块功能展示以及程序代码(1)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题效果展示:代码:a = imread('C:\Documents and Settings\Administrator\桌面\数字图像\舞美.JPG');i = rgb2gray(a);I = im2bw(a,0.5);subplot(3,1,1);imshow(a);title('源图像')subplot(3,1,2);imshow(i);title('灰度图像')subplot(3,1,3);imshow(I);title('二值图像')(2)图像旋转原图效果展示:代码:clc;clear all;close all;Img=imread('D:\My Documents\My Pictures\5.JPG'); Img=double(Img);[h w]=size(Img);alpha=pi/4;wnew=w*cos(alpha)+h*sin(alpha);hnew=w*sin(alpha)+h*cos(alpha);wnew=ceil(wnew);hnew=ceil(hnew); u0=w*sin(alpha);T=[cos(alpha),sin(alpha);-sin(alpha),cos(alpha)]; Imgnew2=zeros(hnew,wnew);Imgnew1=zeros(hnew,wnew); for u=1:hnewfor v=1:wnewtem=T*([u;v]-[u0;0]);x=tem(1);y=tem(2);if x>=1&&x<=h&&y>=1&&y<=wx_low=floor(x);x_up=ceil(x);y_low=floor(y);y_up=ceil(y);if (x-x_low)<=(x_up-x)x=x_low;elsex=x_up;endif (y-y_low)<=(y_up-y)y=y_low;elsey=y_up;endp1=Img(x_low,y_low);p2=Img(x_up,y_low);p3=Img(x_low,y_low);p4=Img(x_up,y_up);s=x-x_low;t=y-y_low;Imgnew1(u,v)=Img(x,y);Imgnew2(u,v)=(1-s)*(1-t)*p1+(1-s)*t*p3+(1-t)*s*p2+s*t*p4;endendendfigure;imshow(Imgnew2,[]);B=imrotate(Img,alpha/pi*180);figure;imshow(B,[]);(3)对给定的图像添加噪声(斑点噪声、高斯噪声)效果展示:代码:I= imread('D:\My Documents\My Pictures\5.JPG');figure,subplot(211);imshow(I);title('原图');J1=imnoise(I,'gaussian',0,0.02);subplot(223);imshow(J);title('添加高斯噪声');J=imnoise(I,'speckle',0.04);subplot(224);imshow(J);title('添加斑点噪声');五、算法综述灰度图像:一幅完整的图像,是由红色、绿色、蓝色三个通道组成的。
医学影像处理 实验报告
医学成像技术与图像处理实验报告学院(系):电子信息与电气工程学部专业:生物医学工程学生姓名:学号:指导教师:刘惠完成日期: 2013.06.25实验一:数字图像读取及色彩、亮度、对比度变化一、实验目的了解数字图像的存储格式,并学会对图像的某些视觉特征作简单处理。
二、实验要求1.从最常用的“.BMP”图像格式中读取图像数据;2.对数字图像的表示方式(如RGB、YUV)及各种表示方式之间的转换有初步了解;3.根据输入参数改变数字图像的色彩、亮度、对比度。
三、实验步骤1.利用工具(如ACDSee、PhotoShop)将Sample.1.jpg转换为Sample1.bmp;2.借助imread命令将图像内容读入内存数组;3.通过访问数字图像RGB三个通道的对应矩阵,改变数字图像的色彩;4.将数字图像的RGB表示转换为YUV表示; Y=0.30R+0.59G+0.11B U=0.70R-0.59G-0.11B V=-0.30R-0.59G+0.89B 5.通过访问Y(亮度)通道,改变数字图像的亮度;6.通过Y(亮度)通道作灰度的线性变换,改变数字图像的对比度。
四、实验程序及图像处理结果pic=imread('E:\实验\1.jpg'); pic=rgb2gray(pic); subplot(1,2,1); imshow(pic); title('GRAY'); INFO = imfinfo('E:\实验\1.jpg'); INFO.Width,INFO.Height pic1 = pic(1:2:end,1:2:end); subplot(1,2,2);imshow(pic1); title('RE'); function f A=imread('E:\实验\Sample1.bmp'); %将原图像读入内存 [r,c,d]=size(A); red=A; red(:,:,1)=A(:,:,1); red(:,:,2)=zeros(r,c); red(:,:,3)=zeros(r,c); red=uint8(red); subplot(3,3,1); imshow(red); %通过访问R通道来观察图像title('Red'); green=zeros(r,c); green(:,:,2)=A(:,:,2); green(:,:,1)=zeros(r,c); green(:,:,3)=zeros(r,c); green=uint8(green);subplot(3,3,2); imshow(green); %通过访问G通道来观察图像title('Green'); blue=zeros(r,c); blue(:,:,3)=A(:,:,3); blue(:,:,1)=zeros(r,c); blue(:,:,2)=zeros(r,c); blue=uint8(blue); subplot(3,3,3); imshow(blue); %通过访问B通道来观察图像title('Blue'); Y=0.3*red+0.59*green+0.11*blue; %将图像的RGB转换为YUV U=0.70*red-0.59*green-0.11*blue; V=-0.30*red-0.59*green+0.89*blue; subplot(3,3,4); imshow(Y); title('原图亮度'); %原图像亮度显示Y=2*Y; subplot(3,3,5); imshow(Y); %增大图像亮度并显示 title('增大亮度'); Y=Y/4; subplot(3,3,6); imshow(Y); %减小图像亮度并显示 title('减少亮度');GreyR(:,:,1)=100+100/255*A(:,:,1);GreyR(:,:,2)=100+100/255*A(:,:,2);GreyR(:,:,3)=100+100/255*A(:,:,3); subplot(3,3,7); imshow(GreyR); title('线性变换');实验二:数字图像的噪声去除一、实验目的:完善程序,对图像进行去噪操作。
数字图像处理课程设计(实验报告)
上海理工大学计算机工程学院实验报告实验名称红细胞数目统计课程名称数字图像处理姓名王磊学号0916020226 日期2012-11-27 地点图文信息中心成绩教师韩彦芳一、设计内容:主题:《红细胞数目检测》详细说明:读入红细胞图片,通过中值滤波,开运算,闭运算,以及贴标签等方法获得细胞个数。
二、现实意义:细胞数目检测在现实生活中的意义主要体现在医学上的作用,可通过细胞数目的检测来查看并估计病人或动物的血液中细胞数,如估测血液中红细胞、白细胞、血小板、淋巴细胞等细胞的数目,同时也可检测癌细胞的数目来查看医疗效果,根据这一系列的指标来对病人或动物进行治疗,是具有极其重要的现实作用的。
三、涉及知识内容:1、中值滤波2、开运算3、闭运算4、二值化5、贴标签四、实例分析及截图效果:(1)代码如下:1、程序中定义图像变量说明(1)Image--------------------------------------------------------------原图变量; (2)Image_BW-------------------------------------------------------值化图象;(3)Image_BW_medfilt-------------------------中值滤波后的二值化图像; (4)Optimized_Image_BW---通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果;(5)Reverse_Image_BW--------------------------优化后二值化图象取反;(6)Filled_Image_BW----------------------已填充背景色的二进制图像;(7)Open_Image_BW--------------------------------------开运算后的图像;2、实现代码:%-------图片前期处理-------------------%第一步:读取原图,并显示A = imread('E:\红细胞3.png');Image=rgb2gray(A); %RGB转化成灰度图figure,imshow(Image);title('【原图】');%第二步:进行二值化Theshold = graythresh(Image); %取得图象的全局域值Image_BW = im2bw(Image,Theshold); %二值化图象figure,imshow(Image_BW);title('【初次二值化图像】');%第三步二值化图像进行中值滤波Image_BW_medfilt= medfilt2(Image_BW,[13 13]);figure,imshow(Image_BW_medfilt);title('【中值滤波后的二值化图像】');%第四步:通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果Optimized_Image_BW = Image_BW_medfilt|Image_BW;figure,imshow(Optimized_Image_BW);title('【进行“或”运算优化图像效果】');%第五步:优化后二值化图象取反,保证:‘1’-〉‘白色’,‘0’-〉‘黑色’%方便下面的操作Reverse_Image_BW = ~Optimized_Image_BW;figure,imshow(Reverse_Image_BW);title('【优化后二值化图象取反】');%第六步:填充二进制图像的背景色,去掉细胞内的黑色空隙Filled_Image_BW = bwfill(Reverse_Image_BW,'holes');figure, imshow(Filled_Image_BW);title('【已填充背景色的二进制图像】');%第七步:对图像进行开运算,去掉细胞与细胞之间相粘连的部分SE = strel('disk',4);Open_Image_BW = imopen(Filled_Image_BW,SE);figure, imshow(Open_Image_BW);title(' 【开运算后的图像】');%-------------开始计算细胞数--------------------[Label Number]=bwlabel(Open_Image_BW,8) %初步取得细胞个数Array = bwlabel(Open_Image_BW,8); %取得贴标签处理后的图像Sum = [];%依次统计贴标签后数组for i=1:Number[r,c] = find(Array==i); %获取相同标签号的位置,将位置信息存入[r,c]rc = [r c];Num = length(rc); %取得vc数组的元素的个数Sum([i])=Num; %将元素个数存入Sum数组EndSumN = 0;%假如Sum数组中的元素大于了400,表示有两个细胞相连,像素点较多,即分为两个细胞数for i=1:length(Sum)if(Sum([i])) > 1500N = N+1;endend%------------------统计最终细胞数-----------Number = Number+N3、运行效果截图:第一步:读取原图,并显示A = imread('E:\红细胞3.png ');Image=rgb2gray(A);figure,imshow(Image);title(' 【原图】');第二步:进行二值化Theshold = graythresh(Image);%取得图象的全局域值Image_BW = im2bw(Image,Theshold);%二值化图象figure,imshow(Image_BW);title(' 【初次二值化图像】');第三步:进行二值化图像Image_BW_medfilt= medfilt2(Image_BW,[13 13]); figure,imshow(Image_BW_medfilt);title(' 【中值滤波后的二值化图像】');第四步:通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果Optimized_Image_BW = Image_BW_medfilt|Image_BW;figure,imshow(Optimized_Image_BW);title(' 【进行“或”运算优化图像效果】');第五步:优化后二值化图象取反,保证:'1'为'白色',0'为'黑色'Reverse_Image_BW = ~Optimized_Image_BW;figure,imshow(Reverse_Image_BW);title(' 【优化后二值化图象取反】');第六步:填充二进制图像的背景色,去掉细胞内的黑色空隙Filled_Image_BW = bwfill(Reverse_Image_BW,'holes');figure, imshow(Filled_Image_BW);title(' 【已填充背景色的二进制图像】');第七步:对图像进行开运算,去掉细胞与细胞之间相粘连的部分SE = strel('disk',4);Open_Image_BW = imopen(Filled_Image_BW,SE);figure, imshow(Open_Image_BW);title(' 【开运算后的图像】');第八步:开始计算细胞数[Label Number]=bwlabel(Open_Image_BW,8)%初步取得细胞个数Array = bwlabel(Open_Image_BW,8);%取得贴标签处理后的图像Sum = [];%依次统计贴标签后数组for i=1:Number[r,c] = find(Array==i);%获取相同标签号的位置,将位置信息存入[r,c]rc = [r c];Num = length(rc);%取得vc数组的元素的个数Sum([i])=Num;%将元素个数存入Sum数组endSumN = 0;-----假如Sum数组中的元素大于了1500,表示有两个细胞相连,像素点较多,即分为两个细胞数---for i=1:length(Sum)if(Sum([i])) > 1500N = N+1;endendNumber = Number+N %----统计最终细胞数第九步:最终检测结果:四、算法分析(1)中值滤波利用中值滤波可以对图像进行平滑处理。
数字图像处理实验报告
数字图像处理实验报告图像处理课程的目标是培养学生的试验综合素质与能力。
使学生通过实践,理解相关理论学问,将各类学问信息进行新的组合,制造出新的方法和新的思路,提高学生的科学试验与实际动手操作能力[1]。
从影像科筛选有价值的图像,建成影像学数字化试验教育平台,系统运行正常;具备图像上传、图像管理、图像检索与扫瞄、试验报告提交、老师批阅等功能;能满意使用要求[2]。
1.试验内容设计思路1.1项目建设内容和方法数字图像处理的内容:完整的数字图像处理大体上分为图像信息的猎取,存储,传送,处理,输出,和显示几个方面。
数字图像信息的猎取主要是把一幅图像转换成适合输入计算机和数字设备的数字信号,包括摄取图像,光、电转换及数字化。
数字图像信息的存储,数字图像信息的突出特点是数据量巨大,为了解决海量存储问题,数字图像的存储主要研究图像压缩,图像格式及图像数据库技术。
数字图像信息的传送数字图像信息的传送可分为系统内部传送与远距离传送[4]数字图像信息处理包括图像变换,图像增加,图像复原,彩色与多光谱处理图像重建,小波变换,图像编码,形态学,目标表示与描述。
数字图像输出和显示,最终目的是为人和机器供应一幅便于解释和识别的图像,数字图像的输出和显示也是数字图像处理的重要内容之一。
1.2数字图像处理的方法大致可以分为两大类,既空域法和频域法空域法:是把图像看做平面中各个像素组成的集合,然后直接对一维和二维函数进行相应处理,依据新图像生成方法的不同,空域处理法可为点处理法,区处理法,叠代处理法,跟踪处理法,位移不变与位移可变处理法。
点处理法的优点,点处理的典型用途a)灰度处理b)图像二值处理点处理方法的优点a)可用LUT方法快速实现b)节省存储空间。
区处理法,邻域处理法。
它依据输入图像的小邻域的像素值,按某些函数得到输出像素。
区处理法主要用于图象平滑和图像的锐化。
叠代处理法:叠代就是反复进行某些处理运算,图像叠代处理也是如此,拉普拉斯算子或平滑处理的结果是物体轮廓,该图像轮廓边缘太宽或粗细不一,要经过多次叠代把它处理成单像素轮廓——图像细化。
医学图像处理实验报告
医学图像处理实验报告班级专业生物医学工程姓名学号实验一用Vc++实现DDB和DIB位图的显示一、实验目的(1)了解VC++在医学图像处理中的应用。
(2)熟悉用VC++进行DDB和DIB位图显示的编程方法。
二、实验设备微机。
三、实验内容(1)应用VC++进行DDB和DIB位图显示。
四、实验步骤1.开启VC++6.0, 在菜单中选中File单击鼠标左键, 在下拉菜单中选中New 单击鼠标左键, 在打开的对话框中, 根据MFC Appward向导创建可执行的应用程序ShowBmp。
2.在程序中插入位图资源, 并添加代码实现位图的显示。
3.在程序中插入Dib类, 并添加相应的代码。
4、编程完毕, 调试和运行程序, 运行无误后, 显示DDB和DIB位图并拷贝所得图像。
5、整理所得图像, 对实验结果进行分析。
五、实验结果和分析(a)ShowDIB位图(b)ShowDDB位图六、思考题1.DDB和DIB位图的显示有什么不同?设备相关位图DDB依赖于具体设备, 加入了程序资源, 一般以资源文件的形式存储;设备无关位图DIB不依赖于具体设备, 没有任何程序资源, 可以永久性的存放在电脑硬盘里, 可任意打开硬盘上一幅位图。
医学图像处理实验报告班级 专业 生物医学工程 姓名 学号实验二 用Vc++实现医学图像的线性灰度变换一、实验目的(1)了解VC++在医学图像处理中的应用。
(2)熟悉用VC++进行医学图像线性灰度变换的编程方法。
二、实验设备微机。
三、实验内容(1)应用VC++进行医学图像的线性灰度变换。
四、实验步骤1.开启VC++6.0, 在菜单中选中File 单击鼠标左键, 在下拉菜单中选中Open Workspce 单击鼠标左键, 在打开的对话框中, 根据路径: D:\WorkSpace\MedicalImageProcessingDLL\MedicalImageProcessingDLL.dsw 打开工作空间。
医学图像处理实验报告
医学信息处理课程设计实验报告指导老师姓名学号班级江苏大学电气学院生物医学工程系2010-7-9心电信号RR间期的检测设计内容:心电信号RR间期的检测是心电信号分析的重要环节之一。
用MATLAB 编程实现求取心电信号RR间期的加窗法、幅值阈值法和基于形态学的检测方法,并比较三种算法。
目的:通过此设计,进一步加深对心电信号的认识;了解心电信号的P波、QRS波、T波等各个波段特点;掌握求取心电信号RR间期的基本方法;熟悉MATLAB 基本编程应用;熟悉典型医学信号处理的流程;提高动手能力,巩固医学信号处理基本知识。
要求:应用MATLAB的m文件编写程序实现说明:给定心电信号数据的采样率为360Hz心电信号波形分析是心电监护和自动诊断的基础。
图是常规心电图的波形组成和测量示意图。
正常心电图包括:P波,QRS波,T 波等;RR间期是测量心率的方法之一加窗法测心电rr间期加窗法是测量RR间期的一种基本方法一般在正常心电图中,QRS波群的R波峰值最大,因此对于一段给定心电数据,对数据加窗,保证在此窗口内只有一个QRS波,检测其最大值,其对应的时刻就是R波峰值时刻;然后滑动数据采样窗口,计算下一个R波峰值对应的时刻;以此类推,得到n个R波峰值时刻,后次减去前次时间得到n-1个RR间期;最后将n-1个RR间期求平均得到平均RR间期。
加窗法测RR间期的算法简单快速有效,每次加窗的窗口宽度固定。
窗口宽度根据经验值确定,但是对应于动态变化的心电图或者异常心电图,有时候在固定窗口内不能包含完整的QRS波,容易造成R波误测和漏测,增加误检率和漏检率。
注释:[Y,I]=max(x)源程序:clc;clear;load('F:\新建文件夹\');plot(ecg2);xlabel('Caiyangdian');ylabel('Fuzhi');title('picture of ECG');width=300;for i=1:6;x=ecg2(((i-1)*width+1):(i*width));[Y(i), R_time(i)]=max(x);R_time(i)= R_time(i)+(i-1)*widthendfor i=1:5;R_R(i)= R_time(i+1)- R_time(i);endR_R=(R_R(1)+ R_R(2)+ R_R(3)+R_R(4)+ R_R(5))/(5*360);程序流程图分析程序结果幅值阈值法测心电rr间期幅值阈值法和斜率阈值法也是较常用的测量R波的基本方法。
数字图像处理实验报告
数字图像处理实验报告重庆邮电⼤学《数字图像处理》课程上机实验学院⽣物信息学院专业⽣物医学⼯程班级 0611302姓名李霞学号 2013211957实验⼀MATLAB数字图像处理初步⼀、实验⽬的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利⽤MATLAB来获取图像的⼤⼩、颜⾊、⾼度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储⼀幅图像的⽅法。
5.图像间如何转化。
⼆、实验原理及知识点1、数字图像的表⽰和类别⼀幅图像可以被定义为⼀个⼆维函数f(x,y),其中x和y是空间(平⾯)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是⽤来表⽰⿊⽩图像亮度的⼀个术语,⽽彩⾊图像是由单个⼆维图像组合形成的。
例如,在RGB彩⾊系统中,⼀幅彩⾊图像是由三幅独⽴的分量图像(红、绿、蓝)组成的。
因此,许多为⿊⽩图像处理开发的技术适⽤于彩⾊图像处理,⽅法是分别处理三副独⽴的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的⼀幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所⽰。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本⾝⼗分适于表达图像,矩阵的元素和图像的像素之间有着⼗分⾃然的对应关系。
根据图像数据矩阵解释⽅法的不同,MA TLAB把其处理为4类:亮度图像(Intensity images)⼆值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像⼀幅亮度图像是⼀个数据矩阵,其归⼀化的取值表⽰亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
数字图像处理实验报告
数字图象处理实验报告主要是图象的几何变换的编程实现,详细包括图象的读取、改写,图象平移,图象的镜像,图象的转置,比例缩放,旋转变换等.详细要求如下:1.编程实现图象平移,要求平移后的图象大小不变;2.编程实现图象的镜像;3.编程实现图象的转置;4.编程实现图象的比例缩放,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的缩放效果;5.编程实现以任意角度对图象发展旋转变换,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的旋转效果.本实验的目的是使学生熟悉并掌握图象处理编程环境,掌握图象平移、镜像、转置和旋转等几何变换的方法,并能通过程序设计实现图象文件的读、写操作,及图象平移、镜像、转置和旋转等几何变换的程序实现.3.1 实验所用编程环境:Visual C++(简称VC)是微软公司提供的基于C/C++的应用程序集成开辟工具.VC拥有丰富的功能和大量的扩展库,使用它能有效的创立高性能的Windows应用程序和Web应用程序.VC除了提供高效的C/C++编译器外,还提供了大量的可重用类和组件,包括著名的微软根抵类库(MFC)和活动模板类库(ATL),因此它是软件开辟人员不可多得的开辟工具.VC丰富的功能和大量的扩展库,类的重用特性以及它对函数库、DLL库的支持能使程序更好的模块化,并且通过向导程序大大简化了库资源的使用和应用程序的开辟,正由于VC具有明显的优势,于是我选择了它来作为数字图象几何变换的开辟工具.在本程序的开辟过程中,VC的核心知识、消息映射机制、对话框控件编程等都得到了生动的表达和灵便的应用.3.2 实验处理的对象:256色的BMP(BIT MAP )格式图象BMP(BIT MAP )位图的文件构造:详细组成图: BITMAPFILEHEADER位图文件头(只用于BMP文件) bfType=”BM” bfSize bfReserved1bfReserved2bfOffBitsbiSizebiWidthbiHeightbiPlanesbiBitCountbiCompressionbiSizeImagebiXPelsPerMeterbiYPelsPerMeterbiClrUsedbiClrImportant单色DIB有2个表项16色DIB有16个表项或者更少256色DIB有256个表项或者更少真彩色DIB没有调色板每一个表项长度为4字节(32位)像素按照每行每列的顺序罗列每一行的字节数必须是4的整数倍BITMAPINFOHEADER 位图信息头 Palette 调色板 DIBPixels DIB图象数据1. BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图形数据四部份组成.2. BMP文件头BMP文件头数据构造含有BMP文件的类型(必须为BMP)、文件大小(以字节为单位)、位图文件保存字(必须为0)和位图起始位置(以相对于位图文件头的偏移量表示)等信息.3. 位图信息头BMP位图信息头数据用于说明位图的尺寸(宽度,高度等都是以像素为单位,大小以字节为单位, 水平和垂直分辨率以每米像素数为单位) ,目标设备的级别,每一个像素所需的位数, 位图压缩类型(必须是 0)等信息.4. 颜色表颜色表用于说明位图中的颜色,它有假设干个表项,每一个表项是一个RGBQUAD类型的构造,定义一种颜色.详细包含蓝色、红色、绿色的亮度(值范围为0-255)位图信息头和颜色表组成位图信息5. 位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上.Windows一个扫描行所占的字节数必须是 4的倍数(即以long为单位),缺乏的以0填充.3.3 BMP(BIT MAP )位图的显示:①普通显示方法:1. 申请内存空间用于存放位图文件2. 位图文件读入所申请内存空间中3. 在函数中用创立显示用位图, 用函数创立兼容DC,用函数选择显示删除位图但以上方法的缺点是: 1)显示速度慢; 2) 内存占用大; 3) 位图在缩小显示时图形失真大,(可通过安装字体平滑软件来解决); 4) 在低颜色位数的设备上(如256显示模式)显示高颜色位数的图形(如真彩色)图形失真严重.②BMP位图缩放显示 :用视频函数来显示位图,内存占用少,速度快,而且还可以对图形发展淡化(Dithering )处理.淡化处理是一种图形算法,可以用来在一个支持比图象所用颜色要少的设备上显示彩色图象.BMP位图显示方法如下:1. 翻开视频函数,普通放在在构造函数中2. 申请内存空间用于存放位图文件3. 位图文件读入所申请内存空间中4. 在 函数中 显示位图5. 关闭视频函数 ,普通放在在析构函数中以上方法的优点是: 1)显示速度快; 2) 内存占用少; 3) 缩放显示时图形失真小,4) 在低颜色位数的设备上显示高颜色位数的图形图形时失真小; 5) 通过直接处理位图数据,可以制作简单动画.3.4 程序中用到的访问函数Windows支持一些重要的DIB访问函数,但是这些函数都还没有被封装到MFC中,这些函数主要有:1. SetDIBitsToDevice函数:该函数可以直接在显示器或者打印机上显示DIB. 在显示时不发展缩放处理.2. StretchDIBits函数:该函数可以缩放显示DIB于显示器和打印机上.3. GetDIBits函数:还函数利用申请到的内存,由GDI位图来构造DIB.通过该函数,可以对DIB的格式发展控制,可以指定每一个像素颜色的位数,而且可以指定是否发展压缩.4. CreateDIBitmap函数:利用该函数可以从DIB出发来创立GDI位图.5. CreateDIBSection函数:该函数能创立一种特殊的DIB,称为DIB项,然后返回一个GDI位图句柄.6. LoadImage函数:该函数可以直接从磁盘文件中读入一个位图,并返回一个DIB句柄.7. DrawDibDraw函数:Windows提供了窗口视频(VFW)组件,Visual C++支持该组件.VFW中的DrawDibDraw函数是一个可以替代StretchDIBits的函数.它的最主要的优点是可以使用颤动颜色,并且提高显示DIB的速度,缺点是必须将VFW代码连接到进程中.3.5 图象的几何变换图象的几何变换,通常包括图象的平移、图象的镜像变换、图像的转置、图象的缩放和图象的旋转等.实验目的:本实验内容旨在让学生通过用VC等高级语言编写数字图象处理的一些根本算法程序,来稳固和掌握图象处理技术的根本技能,提高实际动手能力,并通过实际编程了解图象处理软件的实现的根本原理。
数字图像处理实验报告
数字图像处理实验报告数字图像处理实验报告第一章总论数字图像处理是计算机图形学、数字信号处理等学科交叉的一门学科。
它是基于数字计算机对图像信号进行数字处理的一种方法。
数字图像处理技术已广泛应用于医学影像诊断、遥感图像处理、图像识别、安防监控等领域,在当今社会中具有不可替代的重要作用。
本次实验主要介绍了数字图像处理的基本方法,包括图像采集、图像增强、图像恢复、图像分割、图像压缩等几个方面。
在实验过程中,我们采用了一些常用的数字图像处理方法,并通过 Matlab 图像处理工具箱进行实现和验证。
第二章实验过程2.1 图像采集在数字图像处理中,图像采集是一个重要的步骤。
采集到的图像质量直接影响到后续处理结果的准确性。
本次实验使用的图像是一张 TIF 格式的彩色图像,通过 Matlab 读取图像文件并显示,代码如下:```Matlabim = imread('test.tif');imshow(im);```执行代码后,可以得到如下图所示的图像:![image_1.png](./images/image_1.png)2.2 图像增强图像增强是指利用某些方法使图像具有更好的视觉效果或者变得更适合某种应用。
本次实验我们主要采用直方图均衡化、灰度变换等方法进行图像增强。
2.2.1 直方图均衡化直方图均衡化是一种常用的增强方法,它可以增加图像的对比度和亮度,使图像更加清晰。
代码实现如下:```Matlabim_eq = histeq(im);imshow(im_eq);```执行代码后,会得到直方图均衡化后的图像,如下图所示:![image_2.png](./images/image_2.png)可以看出,经过直方图均衡化处理后,图像的对比度和亮度得到了明显提高。
2.2.2 灰度变换灰度变换是一种用于调整图像灰度级别的方法。
通过变换某些像素的灰度级别,可以增强图像的视觉效果。
本次实验我们采用对数变换和幂函数变换两种方法进行灰度变换。
数字图像处理-实验报告
《数字图象处理》实验报告一、数字图像处理设计主要内容数字图象处理课程设计要求使学生掌握数字图像处理的基本算法的计算机实现,从而培养学生运用数字信号处理的原理解决生物医学、电子工程领域的实际问题的能力。
进一步提高程序设计及调试能力,初步掌握进行科学研究工作的主要步骤和方法,学习和掌握科学研究资料检索的方法,学习对已有资料进行消化总结的方法,学习撰写科学报告的基本方法。
二、前期工作1.查阅资料,对数字信号处理和图象处理基本理论和实践作一全面了解;2.根据实验内容和要求确定实验思路,熟悉Matlab语言,理解对数字信号处理进行计算机仿真原理;三、设计工作1.图像平滑a.利用二个低通邻域平均模板(3×3和9×9)对一幅图象进行平滑,验证模板尺寸对图象的模糊效果的影响。
b.利用一个低通模板对一幅有噪图象(GAUSS白噪声)进行滤波,检验两种滤波模板(分别使用一个5×5的线性邻域平均模板和一个非线性模板:3×5中值滤波器)对噪声的滤波效果。
c.选择一个经过低通滤波器滤波的模糊图象,利用sobel水平边缘增强高通滤波器(模板)对其进行高通滤波图象边缘增强,验证模板的滤波效果。
d.选择一幅灰度图象分别利用一阶Sobel算子和二阶Laplacian算子对其进行边缘检测,验证检测效果。
2.图像增强a.直方图均衡化增强图像对比度的MATLAB程序。
b.采用线性变换进行图像增强的MATLAB程序。
c.采用边界锐化算法增强图像的MATLAB程序。
四、程序设计1.利用二个低通邻域平均模板(3×3和9×9)对一幅图象进行平滑,验证模板尺寸对图象的模糊效果的影响。
程序如下:l=imread('E:/matlab/test1/sample.jpg');L=rgb2gray(l);subplot(1,3,1);imshow(L);title('原图');j=fspecial('average');j1=filter2(j,L)/255;subplot(1,3,2);imshow(j1);title('3*3 滤波');k=fspecial('average',9);k1=filter2(k,L)/255;subplot(1,3,3);imshow(k1);title('9*9 滤波');仿真结果如下图:原图3*3 滤波9*9 滤波2.利用一个低通模板对一幅有噪图象(GAUSS白噪声)进行滤波,检验两种滤波模板(分别使用一个5×5的线性邻域平均模板和一个非线性模板:3×5中值滤波器)对噪声的滤波效果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
title('laplacian 算子锐化图像'); % 标题为'laplacian 算子锐化图像'
H=fspecial('prewitt');
% 生成 Prewitt 滤波器
prewittH=filter2(H,I);
%以 prewitt 为模板对原图像进行锐化滤波
subplot(1,3,3);
%在子网中显示第 3 幅图像
%r1 由所有小于等于 T 的像素构成
r2=find(f>T);
%r2 由灰度值大于 T 的所有像素组成
Tnew=(mean(f(r1))+ mean(f(r2)))/2; %r1、r2 的像素分别计算平均灰度值,计算一个新的阈值 T
done=abs(Tnew-T)<1;
%计算阈值差值,满足不小于 1 时,停止循环
最终结果以自动迭代产生的阈值将目标与背景分离,产生相应的二值图像(如图 5)。
例 3 Laplacian 算子和模板匹配法
① 源代码
I=imread('tire.tif');
%读取图像 tire
subplot(1,3,1);imshow(I);
%在子网中显示第 1 幅图像
title('原图像');
%标题为'原图像'
%标题为'迭代阈值二值化图像'
④ 图像输出
原始图像
迭代阈值二值图像
图 4 原图像
图 5 阈值分割后的二值图像
③结果分析:迭代阈值分割步骤
第 4 页 共 16 页
《医学图像处理》
第一步:选取原图像灰度最大值与最小值的平均值作为初始阈值;第二步:用该阈值分割图像,产 生两组像素,即目标与背景;第三步:分别求得目标与背景的平均灰度值;第四步:求得一个新的 阈值(将目标与背景的平均灰度值相加再求平均值即得到 Tnew);第五步:计算阈值差值;第六步: 重复步骤二到步骤四,直到阈值差值不小于 1,输出阈值。
1、 函数 imadjust 是对灰度图像进行灰度变换的基本工具。其语法为 g=imadjust(f,[low_in high_in],[low_out high_out],gamma)
2、直方图均衡化 直方图生成函数为 imhist,其基本语法为 g=imhist(f,b) 直方图均衡化用工具箱中的函数 histeq histeq(f,nlev)
%sobel 水平算子分割结果
[g,t]=edge(f,'sobel',[],'horizontal'); subplot(2,3,3); imshow(g); title('sobel 水平算子分割结果');
%应用 sobel 算子检测图像 f 的边缘 %创建有 2*2 子图像的窗口,图像在位置 3 %显示经 sobel 水平算子处理后的图像 %给图像加标题为‘sobel 水平算子分割结果’
H=fspecial('laplacian');
%生成 laplacian 滤波器
laplacianH=filter2(H,I);
%以 laplacian 为模板对原图像进行锐化滤波
subplot(1,3,2);
%在子网中显示第 2 幅图像
imshow(laplacianH);
%显示以 laplacian 算子锐化的图像
f=double(f); [g,t]=edge(f,'sobel',[],'both'); subplot(2,3,2); imshow(g); title('sobel 双边算子分割结果');
%转化图像 f 的类型为双精度 %应用 sobel 算子检测图像 f 的边缘 %创建有 2*2 子图像的窗口,图像在位置 2 %显示经 sobel 双边算子处理后的图像 %给图像加标题为‘sobel 双边算子分割结果’
%图像未加噪声前
>> f=imread('cameraman.tif'); subplot(2,3,1); imshow(f,[]); title('原始图像');
%读入图像 %创建有 2*2 子图像的窗口,原图在位置 1 %显示原图像 f %给图像加标题为'原始图像'
%sobel 双边算子分割结果
二、实验环境
1、硬件配置:处理器:Intel(R) celeron(R) CPU 安装内存(RAM):4.00GB 系统类型:64 位操作系统
N2940 @1.83GHz 1.83GHz
2、软件环境:MATLAB R2012b
三、实验内容
(包括本实验要完成的实验问题及需要的相关知识简单概述)
一、实验原理
②图像输出
原始图像
Roberts算 子 分 割 结 果
Sobel算 子 分 割 结 果
Prewitt算 子 分 割 结 果
图 9 原图与 Roberts、Sobel、Prewitt 算子分割结果 ③结果分析
原图像经多种梯度算子进行边缘检测后,更加突显出原图像的边缘,抑制了图像中非边缘信息, 使图像轮廓更加清晰 。
3、直方图规定化 函数 histeq 实现直方图匹配的形式为 g=histeq(f,hspec)
4、图像正交变换 傅里叶频谱可以使用函数 abs 来获得 F=abs(Y) 傅里叶逆变换用函数 ifft2 实现,基本语法为 F=ifft2(F)
第 2 页 共 16 页
《医学图像处理》
四、实验结果与分析
③结果分析 由图 7 可看出,Laplacian 算子的处理,图像模糊近乎成虚像的形式,边缘信息大量丢失; 由图 8 可看出,prewitt 算子将图像边缘拉大,近乎失真。
例 4 不同边缘检测方法比较
第 5 页 共 16 页
《医学图像处理》
①源代码
f=imread('eight.tif'); subplot(2,2,1); imshow(f); title('原始图像'); [g,t]=edge(f,'roberts',[],'both'); subplot(2,2,2); imshow(g); title('Roberts 算子分割结果'); [g,t]=edge(f,'sobel',[],'both'); subplot(2,2,3); imshow(g); title('Sobel 算子分割结果'); [g,t]=edge(f,'prewitt',[],'both'); subplot(2,2,4); imshow(g); title('Prewitt 算子分割结果')
%标题为'原始图像'
Байду номын сангаас
f=double(f);
%将原图像转换为双精度类型
T=(min(f(:))+max(f(:)))/2;
%设定初始阈值 T(图像的平均灰度值)
done=false;
%定义开关变量,用于控制循环次数
i=0;
%初始变量 i 为 0
while ~done
%迭代法计算量
r1=find(f<=T);
(包括实验原理、数据的准备、运行过程分析、源程序(代码)、图形图象界面等)
【例题】
例 1 手动阈值分割
① 源代码
[I,map]=imread('eight.tif');
%读取原图像 eight
imshow(I); figure;J=imhist(I);imhist(I);[M,N]=size(I); %显示图像并生成直方图,图像大小为 M*N 像素
roberts 算子检测边缘:可看到图像的一些边缘信息丢失;检测精度较高,由于没有经过图像平 滑计算,因此不能抑制噪声,但该算子对具有陡峭的低噪声图像响应最好
Prewitt,Sobel 算子检测边缘图像产生了一定的模糊,而且还会检测出一些伪边缘,所以检测精度比 较低,该算子比较适用于图像边缘灰度值比较尖锐且图像噪声比较好的情况。
评分
大理大学实验报告
课程名称 医学图像处理
实验名称 图像分割
专业班级 13 级生物医学工程 1 班
姓 名 范小欢
杨飞
学 号 2013166143 2013166141
实验日期
2015/12/17
实验地点
三教 204
2015—2016 学年度第 2 学期
《医学图像处理》
一、 实验目的
掌握常用的边缘提取算法,哦那个图像中提取感兴趣的区域,实现图像分割。在图像中,寻找灰 度相同或相似的区域,区分图像中的背景区域和目标区域,利用 matlab 实现图像的边缘检测,进行 图像分割。
for i=1:1:M
%用 for 语句依次读取图像像素点,若超过了指定的阈值 200,取像素为 0,否则为 1
for j=1:1:N
if I(i,j)>200
%若像素点大于 200,则取 0,反之
g(i,j)=0;
else g(i,j)=1; %否则取 0
end
%if 循环的 end
end
end
figure;imshow(g);
第 6 页 共 16 页
《医学图像处理》
roberts 算子是利用图像的两个对角的相邻像素进行梯度幅值的检测,并且检测水平和垂直方向 边缘的性能好于斜线方向的边缘,检测精度较高,但容易丢失一部分边缘信息,同时由于没有经过图 像平滑计算,因此不能抑制噪声,但该算子对具有陡峭的低噪声图像响应最好 Prewitt,Sobel 算子都是对图像进行差分和滤波运算,仅在平滑部分的权值选择上有差异,因此两者 对噪声具有一定的抑制作用,但这种抑制作用是通过像素平均来实现的,所以图像产生了一定的模糊, 而且还会检测出一些伪边缘,所以检测精度比较低,该算子比较适用于图像边缘灰度值比较尖锐且图 像噪声比较好的情况。