DIP数字图像处理实验

合集下载

DIP课程10次实验报告

DIP课程10次实验报告

研究生课程:数字图像处理课程作业实验报告实验名称:Image Interpolation实验编号:Proj02-01摘要:本实验采用双线性插值技术对图像进行缩放,实验的原理是来源于数值分析中的插值问题。

双线性插值算法是一种比较好的图像缩放算法,它充分的利用了源图中虚拟点四周的四个真实存在的像素值来共同决定目标图中的一个像素值,因此缩放效果比较好。

实验内容概述关于编程的一点说明:本课程实验的主要目的如下:(1)掌握图像处理的基本方法与步骤,(2) 帮助学生建立图像处理技术解决问题的感性概念,以及解决问题的软件原型。

最后,需要说明的是,完成本课程实验所需要的编程环境可以是C++等常规的程序开发环境,也可以是包含有已经存在的具有可扩展能力的函数集合组成的集成编程环境。

最典型的例子是MATLAB的图像处理工具箱(Image Processing Toolbox,IPT)编程环境。

建议实验中使用后一种类型的集成编程环境。

下面是具体的实验题目及其说明:PROJECT 02-01(Image Interpolation)(a) 编写一个线性插值程序,将64*64大小的图像插值为256*256的图像,并与matlab的imresize函数的结果相比较;(b) 图像变换函数采用仿射变换,图像x和y方向都放大4倍,并逆时针旋转15度,未定义区域赋值0。

一、技术论述对于双线性插值算法,首先进行初始化,读取所要缩放的图像,获取目标大小64*64,以及目标像素点的横坐标和纵坐标,然后根据所提供的公式算法逐点做双线性内插,根据双线性插值算法的思路(即目标图像中的像素值由原图像中在空间位置上最接近的四个像素值按照特定的公式:S =(a)(b)S1+(1-a)(b)S2+(a)(1-b)S3+(1-a)(1-b)S4进行计算)对目标图像点计算相应的a、b、S1、S2、S3、S4,然后根据上述公式计算出该像素点的值,最后显示图像效果。

DIP实验图像变化

DIP实验图像变化

实验三图像的正交变换一、实验目的1.了解傅立叶变换、离散余弦变换及其在图像处理中的应用2.了解Matlab线性滤波器的设计方法二、实验内容及步骤1.傅立叶变换A)绘制一个二值图像矩阵,并将其傅立叶函数可视化。

f=zeros(30,30);f(5:24,13:17)=1;imshow(f,'notruesize')F=fft2(f);F2=log(abs(F));figure,imshow(F2,[-1 5],'notruesize');colormap(jet);F=fft2(f,256,256); %零填充为256×256矩阵figure,imshow(log(abs(F)),[-1 5],'notruesize');colormap(jet);F2=fftshift(F); %将图像频谱中心由矩阵原点移至矩阵中心figure,imshow(log(abs(F2)),[-1 5],'notruesize');colormap(jet);运行结果:图一绘制二值图像矩阵B)利用傅立叶变换分析两幅图像的相关性,定位图像特征。

读入图像‘text.jpg’,抽取其中的字母‘a’。

bw=imread('text.png');a=bw(59:71,81:91);imshow(bw);figure,imshow(a);C=real(ifft2(fft2(bw).*fft2(rot90(a,2),256,256)));%求相关性figure,imshow(C,[]);thresh=max(C(:));figure,imshow(C>thresh-10)figure,imshow(C>thresh-15)运行结果:图二图像的相关性2.离散余弦变换(DCT)A)使用dct2对图像‘autumn.jpg’进行DCT变换。

dip计算具体案例

dip计算具体案例

dip计算具体案例
标题,使用数字图像处理(DIP)进行图像模糊处理的具体案例。

数字图像处理(DIP)是一种广泛应用于图像处理和计算机视觉
领域的技术。

其中,图像模糊处理是DIP中的一个重要应用之一。

本文将以图像模糊处理为例,介绍DIP的具体应用案例。

首先,让我们来看一个简单的图像模糊处理案例。

假设我们有
一张清晰的照片,但是由于某种原因,我们希望对这张照片进行模
糊处理,以模拟出一种柔和的效果。

这时候,DIP就可以派上用场了。

首先,我们需要导入这张照片到计算机中,并使用DIP的相关
算法对其进行处理。

在这个案例中,我们可以使用高斯模糊算法,
该算法可以通过在图像的每个像素周围应用高斯函数来模糊图像。

通过调整高斯函数的参数,我们可以控制模糊效果的强度。

接下来,我们可以使用Python中的OpenCV库来实现这个算法。

首先,我们需要导入OpenCV库,并读取我们的照片。

然后,我们可
以使用库中提供的高斯模糊函数来对图像进行模糊处理。

最后,我
们将处理后的图像保存到计算机中,以便后续使用。

通过这个具体案例,我们可以看到DIP在图像处理领域的强大应用。

无论是在美化照片、医学影像处理还是计算机视觉领域,DIP 都发挥着重要作用。

这个案例也展示了DIP如何通过简单的算法和工具,就能够实现复杂的图像处理任务。

希望这个案例能够帮助大家更好地理解DIP的应用和价值。

DIP实验报告5-Two-Dimensional Fourier Transform and Filtering

DIP实验报告5-Two-Dimensional Fourier Transform and Filtering

深圳大学研究生课程:数字图像处理课程作业实验报告实验名称:Two-Dimensional Fourier Transform and Filtering实验编号:Proj04-01签名:姓名:学号:217226截止提交日期:2017年11月10日摘要:该实验是基于MATLAB开发的一个2-D FFT程序,该程序能实现的功能有滤波的中心化变换,图像的傅里叶变换、傅里叶反变换,并以二维图象和三维图形显示图像的幅度谱和相位谱,还编写一个高斯低通滤波器的程序,对图像进行滤波处理。

傅里叶变换是数字图像处理技术的基础,有些在空间域难以实现的功能在频率域很容易实现。

通过在时空域和频率域来回切换图像,可以对图像的信息特征进行提取和分析。

高斯低通滤波器在低频和高频之间具有平滑过渡的滤波范围,对图像进行处理的结果产生的模糊较少而且没有振铃效应。

该实验是在MATLAB R2017a平台上实现。

一、技术论述1.二维傅里叶变换与傅里叶反变换、频谱、相位谱(1) 令f(t,z)是两个连续变量t 和z 的连续函数,二维连续傅里叶变换对如下所示:dudve v u z tf dtdz e z t f v u vz ut j vz ut j )(2)(2),F(),(),(),F(+∞∞-∞∞-+-∞∞-∞∞-⎰⎰⎰⎰==ππ其中u 与v 是频率变量。

(2) 对于离散变量,可得到下面的二维傅里叶变换(DFT)及傅里叶反变换(IDFT):∑∑∑∑-=-=+-=-=+-==1010)(21010)(2),F(1),(),(),F(M u N v Nvy M ux j M x N y Nvy M ux j ev u MNy x f ey x f v u ππ其中,f(x,y)是大小为M*N 的数字图像,对于DFT 有u=0,1,2,…..,M -1和V=0,1,2,…,N -1,对于IDFT 有x=0,1,2,…..,M -1和y=0,1,2,…,N -1。

DIP实验图像处理

DIP实验图像处理

实验二图像处理一、实验目的1.熟悉图像点运算与代数运算的实现方法2.了解图像集合运算的简单应用3.了解图像的邻域运算二、实验内容与步骤(1)试验程序与试验结果1图像点运算读入图像‘rice.tif’,通过图像点运算改变对比度。

rice=imread('rice.jpg');subplot(131),imshow(rice)I=double(rice); %转换为双精度类型J=I*0.43+60;rice2=uint8(J); %转换为uint8subplot(132),imshow(rice2)J=I*1.5-60;rice3=uint8(J); %转换为uint8subplot(133),imshow(rice3)运行结果:图1 图像的点运算2.图像的代数运算(a)图像的加运算I=imread('rice.jpg');subplot(221),imshow(I)J=imread('cameraman.jpg'); subplot(222),imshow(J)K=imadd(I,J);subplot(223),imshow(K)K2=imadd(I,J,'uint16');subplot(224),imshow(K2,[])RGB=imread('flowers.jpg'); RGB2=imadd(RGB,50); figure,subplot(221),imshow(RGB) subplot(222),imshow(RGB2) RGB3=imadd(RGB,100); Subplot(2,2,[3,4]),imshow(RGB3) 运行结果:图2 图像的加运算(b)图像的减运算I=imread('rice.jpg');imshow(I)background = imopen(I,strel('disk',15)); %估计背景图像figure, imshow(background);I2=imsubtract(I,background); %从原始图像中减去背景图像figure, imshow(I2)运行结果:图3 图像的减运算(c)图像的乘法运算I=imread('moon.jpg');J=immultiply(I,1.2);K=immultiply(I,0.5);imshow(I)figure,imshow(J)figure,imshow(K)运行结果:图4图像的乘法运算3. 图像的几何运算a) 改变图像的大小读入图像‘ic.jpg’,改变图像大小,分别将原图像放大1.5倍和缩小0.5倍。

DIP课程实验

DIP课程实验

Digital Image Processing Homework课程实验实验题目(任选其中两个完成,欢迎多选):∙实验1: 图像增强∙实验2: 图像分割与边缘检测∙实验3: 图像几何变换∙实验4: 图像特征与理解∙实验5: 图像压缩与编码∙实验6: 图像复原∙实验7: 图像频域处理∙实验8: 图像数学形态学处理实验1:图像增强一、实验目的:学会常用图像增强与平滑的算法。

二、实验要求:1.直方图计算与显示,直方图拉伸与均衡;2.灰度变换算法;3.燥声去除算法;4.图象锐化算法。

三、实验步骤:1.利用工具(如ACDSee、PhotoShop)将JPG图像文件转换为BMP图像文件;2.根据BMP格式,将图像内容读入内存数组;3.调用各种算法处理读入的图像;4.注意不同处理方法对边缘的影响。

四、实验图像:Sample1-1.jpg(原始图像)Sample1-2.jpg(加噪声后的图像)实验2:图像分割与边缘检测一、实验目的:学会常用图像分割与边缘检测算法。

二、实验要求:1.用灰度阈值法、区域生长与聚合算法实现图象分割;2.用梯度算子检测图像中的边缘;3.用Sobel算子检测图像中的边缘;4.实现投影法和差影算法。

三、实验步骤:1.利用工具(如ACDSee、PhotoShop)将JPG图像文件转换为BMP图像文件;2.根据BMP格式,将图像内容读入内存数组;3.调用算法;4.比较处理结果。

四、实验图像:Sample2-1.jpg Sample2-2.jpg实验3:图像几何变换1、Image Printing Program Based on Halftoning (Pattern 半影调法,图案法)The following figure shows ten shades of gray approximated by dot patterns. Each gray level is represented by a 3 x 3 pattern of black and white dots. A 3 x 3 area full of black dots is the approximation to gray-level black, or 0. Similarly, a 3 x 3 area of white dotsrepresents gray level 9, or white. The other dot patterns are approximations to gray levels in between these two extremes. A gray-level printing scheme based on dots patterns such as these is called "halftoning" Note that each pixel in an input image will correspond to 3 x 3 pixels on the printed image, so spatial resolution will be reduced to 33% of the original in both the vertical and horizontal direction. Size scaling as required in (a) may furtherreduce resolution, depending on the size of the input image.(a) Write a halftoning computer program for printing gray-scale images based on the dotpatterns just discussed. Your program must be able to scale the size of an input image so that it does not exceed the area available in a sheet of size A4 (21.6 x 27.9 cm). Yourprogram must also scale the gray levels of the input image to span the full halftoning range.(b) Write a program to generate a test pattern image consisting of a gray scale wedge ofsize 256 x 256, whose first column is all 0's, the next column is all 1's, and so on, with the last column being 255's. Print this image using your gray-scale printing program.(c) Print iamges Sample4-1.jpg, Sample4-2.jpg and Sample4-3.jpg using your gray-scaleprinting program.2、Reducing the Number of Gray Levels in an Image (二值化)(a) Write a computer program capable of reducing the number of gray levels in a image from 256 to 2, in integer powers of 2. The desired number of gray levels needs to be a variable input to your program.(b) Download the image Sample4-4.jpg and run your program.3、Zooming and Shrinking Images by Pixel Replication (基于像素插补的放大缩小) (a) Write a computer program capable of zooming and shrinking an image by pixelreplication (插补). Assume that the desired zoom/shrink factors are integers. You may ignore aliasing effects.(b) Download the image Sample4-5.jpg and use your program to shrink the image from 1024 x 1024 to 256 x 256 pixels.(c) Use your program to zoom the image in (b) back to 1024 x 1024. Explain the reasons for their differences.4、Zooming and Shrinking Images by Bilinear Interpolation (基于双线性插值的放大缩小)(a) Write a computer program capable of zooming and shrinking an image by bilinear interpolation. The input to your program is the desired size of the resulting image in the horizontal and vertical direction. You may ignore aliasing effects.(b) Download the image Sample4-5.jpg and use your program to shrink this image from 1024 x 1024 to 256 x 256 pixels.(c) Use your program to zoom the image in (b) back to 1024 x 1024. Explain the reasonsfor their differencesSample4-1.jpgSample4-2.jpgSample4-3.jpgSample4-4.jpgSample4-5.jpg实验4:图像特征与理解实验5:图像压缩与编码一、实验目的:掌握数字图像的基本压缩与编码技术。

DIP实验课件.ppt

DIP实验课件.ppt

实验结果示例
原图像
均衡后图像
2000
直方图
1500
1000
500
0
0
100
200
300
2000
均衡后直方图
1500
1000
500
0
0
100
200
300
返回目录
实验二: 图像增强与平滑
实验结果示例
返回目录
实验二: 图像增强与平滑
实验结果示例
原图像
加噪图像
3*3窗 口 中 值 滤 波 后 图 像
5*5窗 口 中 值 滤 波 后 图 像
结束
图像镜像算法流程图
结束
图像旋转算法流程图
结束
图像缩放算法流程图
返回目录
实验一: 图像几何变换
实验结果示例
返回目录
实验一: 图像几何变换
实验报告
按照格式要求认真如实的撰写实验报告。基本格式:
一、实验目的
二、实验仪器
三、实验内容
四、实验原理
五、实验步骤
六、实验结果及分析,这一部分主要包括:
1.经调试正确的程序源代码。要求有必要的说明和注释,如程序
4.学习使用ICETECK-DM642-IDK-M实验系统。 参见附录D ICETEK-DM642-IDK-M系统的入门实验。
实验原理
几何变换不改变图像的像素值,只改变像素所在的几何位置。 平移、镜像、旋转、缩放、错切变换… 具体请参考教材及实验指导书。
返回目录
实验一: 图像几何变换
实验方案
自行设计实验方案,主要包括: 1.实验内容的算法原理; 2.实现图像处理算法的程序流程图; 3.编写M-function函数,并对其(包括调用的平台内部函数)功能

DIP实验报告-变灰度缩放

DIP实验报告-变灰度缩放

课程:数字图像处理课程作业实验报告实验名称:Reducing the Number of Gray LevelsZooming and Shrinking实验编号:Proj02-02签名:姓名:学号:截止提交日期:年月日摘要:实验要求编写一个将给定图像的灰度级数以2的幂次方减少的程序;编写一个基于像素复制法进行图像缩放的程序,要求缩放因子为整数;编写一个基于双线性插值法的图像缩放程序,要求输入参数为输出图像的水平和垂直方向的像素数。

并使用这三个函数对给定图像进行缩小再放大操作,对比输出图像的差异,并总结原因。

一、基本原理1、改变图像灰度级数本实验为了实现图像灰度级数的变化,将256级的灰度色阶以2的幂次方进行减小量化。

当图像的采样点数一定时,采用不同灰度级数的图像质量不同。

一般情况,灰度级数越多,图像质量越好;反之图像质量越差。

灰度级数减小的极端情况就是二值图像。

本实验程序处理很简单:处理后灰度级=(原灰度级/量化级数)*量化级数。

(原灰度级/量化级数)的计算结果为略去了小数点后的整数,再乘以量化级数则达到了量化的作用。

2、像素复制法原理在本实验中,像素复制法只是简单的把原图像最近邻的灰度赋给每个新的位置,或者在缩小中简单地去除某一位置的像素信息,这种方法的优势是计算量很低,但是该方法有产生不希望的人为缺陷的倾向,如某些直边缘的严重失真。

3、双线性插值原理使用双线性插值法,我们需要用4最近邻点去估计给定位置的灰度。

在数学上,双线性插值算法可以看成是两个变量间的线性插值的延伸。

执行该过程的关键思路是先在一个方向上执行线性插值,然后再在另外一个方向上插值。

假设单位正方形顶点f(0,0)、f(1,0)、f(0,1)、f(1,1)的值已知,希望通过插值得到正方形内任意点f(x,y)的值。

令双线性方程为:f(x,y)=ax + by + cxy + d可以推导出线性插值公式为f(x,y)=[f(1,0)- f(0,0)]x +[f(0,1)-f(0,0)]y+ [f(1,1)+ f(0,0)-f(1,0)- f(0,1)]xy + f(0,0)或:f(x,y)=f(0,0)*(1-x)*(1-y)+f(1,0)*x*(1-y)+f(0,1)*y*(1-x)+f(1,1)*x*y此程序的双线性插值处理便是用了上述公式。

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

1.实验项目名称:基于Matlab语言的数字图像处理基本操作
2.实验目的
(1)掌握基于Matlab语言的数字图像处理基本操作,包括数字图像读取、显示、存储以及格式转换等操作,数字图像的点、代数和几何运算等;
(2)熟练掌握几种空域图像增强与滤波方法,包括直方图增强、平滑滤波、锐化滤波等。

3.实验内容与实验步骤
(1)数字图像的读、写和显示
使用函数imread 打开一幅灰度图像,使用函数imwrite 将图像另存为不同的文件名;在此过程中观察图像矩阵的形式,并记录5×5的矩阵片断;
使用函数size察看图像大小,使用函数imfinfo查看图像信息;记录图像信息;使用函数imshow显示图像。

(2)图像类型间的转化
使用函数imread打开一幅RGB彩色图像。

观察图像矩阵的形式,并分别记录RGB三色5×5的矩阵片断;
将彩色图像变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像。

使用im2double转换图像的数据类型,记录5×5矩阵片断在转换前后的变化。

(3)图像的点运算
读入图像pout.tif(图1)或其他图像,为使低值灰度的图像细节更容易看清,应用某种线性变换,显示灰度变换前后图像。

图1 pout.tif
(4)图像的代数运算
读入两幅不同的RGB彩色图像,并对其执行加(imadd)、减(imsubtract)、乘(immultiply)、除(imdivide)操作,在同一个窗口内分别显示。

(5)图像的几何运算
读入一幅图像,采用函数imresize将图像分别放大1.5倍和缩小0.8倍,插值方法使用双线性插值法,显示原图像与变换后的图像;采用函数imrotate将图像顺时针旋转45度,显示旋转后的图像。

思考题:如何判断读入的一幅图像是否为彩色图像。

4.实验环境:计算机与Matlab软件。

实验报告
1.实验程序:
clear all,close all,clc;%清空工作区与全局变量,关闭所有窗口,清空命令区域%%
I=imread('cell.tif');%打开灰度图像
size(I)%查看图像大小
figure;%建立窗口
imshow(I)%显示图像
imfinfo('cell.tif')%查看图像信息
imwrite(I,'cell2.tif');%另存为图像
%%
I1=imread('onion.png');%打开RGB彩色图像
I2=rgb2gray(I1);%变换为灰度图像
I3=im2bw(I1,0.5);%变换为二值图像
figure;
subplot(221),imshow(I1);
subplot(222),imshow(I2);
subplot(223),imshow(I3);%在同一窗口内显示三幅图像
M=im2double(I1)%im2double转换
%%
I4=imread('pout.tif');
I5=imadjust(I4,[0.2,0.5],[0,1]);%线性变换
figure;
subplot(121),imshow(I4);
subplot(122),imshow(I5);
%%
X=imread('peppers.png');
Y=imread('tape.png');
Z1=imadd(X,Y);%加
Z2=imsubtract(X,Y);%减
Z3=immultiply(X,Y);%乘
Z4=imdivide(X,Y);%除
figure;
subplot(221),imshow(Z1);
subplot(222),imshow(Z2);
subplot(223),imshow(Z3);
subplot(224),imshow(Z4);
%%
B1=imresize(X,1.5,'bilinear');%放大1.5倍
B2=imresize(X,0.8,'bilinear');%缩小为0.8倍
B3=imrotate(X,-45);%逆时针旋转45度
figure;
subplot(221),imshow(X);
subplot(222),imshow(B1);
subplot(223),imshow(B2);
subplot(224),imshow(B3);
2.程序运行结果:
(1)
灰度图像矩阵片段:
I =
118 116 112 111 114
117 119 114 108 110
115 116 114 108 109
114 112 108 108 112
115 114 110 111 112
图像大小:
ans =
159 191
图像信息:
ans =
Filename: 'D:\Program
Files\MATLAB\R2014b\toolbox\images\imdata\cell.tif'
FileModDate: '21-二月-2001 04:34:50'
FileSize: 31028
Format: 'tif'
Width: 191
Height: 159
BitDepth: 8
ColorType: 'grayscale'
(2)
三色矩阵片段:
I1(:,:,1) =
63 67 65 68 66
61 61 64 66 67
61 61 64 65 66
65 63 64 65 65
62 60 60 65 66
I1(:,:,2) =
35 35 32 35 36
37 35 34 35 35
36 36 37 35 35
35 36 37 35 35
35 36 36 36 34
I1(:,:,3) =
64 66 64 66 67
66 64 64 66 67
61 60 64 65 65
63 63 62 65 66
64 65 66 68 68
Im2double语句把图像数据类型转换为双精度浮点类型,像素值被标准化到0-1之间,相当于以上各元素除以255.
Figure1
Figure2
Figure4
(对图片的缩放结果以实际大小为准)
3.思考题
可以看图像矩阵的形式区分是否为彩色图像,可以通过查看图像信息区分是否为彩色图像。

相关文档
最新文档