数字图像处理实验 实验二
数字图像处理实验实验报告 实验二

数字图像处理实验实验报告(实验一)一、实验目的:1、直方图显示2、计算并绘制图像直方图3、直方图均衡化二.程序脚本clear all;RGB=imread('me.jpg');figure;imshow(RGB);title('图1 彩色图');%========================================================== I=rgb2gray(RGB);figure;imshow(I);title('图2 灰度图');%========================================================= figure;imhist(I);title('灰度直方图');%========================================================= hi=imhist(I);j=1;%为使画出的直方图更好看,在此进行了抽样for(i=1:256)if(mod(i,10)==1)h(j)=hi(i);j=j+1;endendn=0:10:255;figure;stem(n,h);axis([0 255 0 2500]);title('图3.1 stem显示直方图');figure;bar(n,h);axis([0 255 0 2500]);title('图3.2 bar显示直方图');figure;plot(n,h);axis([0 255 0 2500]);title('图3.3 plot显示直方图');%========================================================= I=rgb2gray(RGB);figure;subplot(3,2,1);imshow(I);title('图4.1 原始灰度图');subplot(3,2,2);imhist(I);title('图4.2 原始灰度直方图');%=============================J1=imadjust(I);subplot(3,2,3);imshow(J1);title('调整对比度以后的图');subplot(3,2,4);imhist(J1);title('调整对比度以后的灰度直方图');%=================================J2=histeq(I);subplot(3,2,5);imshow(J2);title('均衡化以后的的图');subplot(3,2,6);imhist(J2);title('均衡化以后的灰度直方图');三.实验结果图1 彩色图图2 灰度图010002000灰度直方图10020010020005001000150020002500图3.1 stem 显示直方图10020005001000150020002500图3.2 bar 显示直方图10020005001000150020002500图3.3 plot 显示直方图图4.1 原始灰度图10002000图4.2 原始灰度直方图0100200调整对比度以后的图010002000调整对比度以后的灰度直方图0100200均衡化以后的的图02000均衡化以后的灰度直方图100200。
数字图像处理实验2

等,使用多维滤波器H对图像A进行滤波,H常由函数fspecial输出得到。属性参
数如表3所示: 表3 imfilter函数参数表
参数类型
参数
含义
边界选项
‘X’
输入图像的外部边
界通过X来扩展,默
认的X=0
‘symmetric’
输入图像的外部边
3×3。
输出大小选项
滤波方式选项
(8)medfilt2函数
三、Matlab相关函数介绍
(1)imhist函数 功能:统计变显示图像的直方图。 调用格式: imhist(I):显示图像I的直方图。 imhist(I, n):显示图像I的直方图,n指定直方图中的列数。 [COUNTS,X] = imhist(...):返回直方图数据向量COUNTS和相应的色彩值向量X。 (2)histeq函数 功能:直方图均衡化 调用格式: J = histeq(I,hgram):将图像I的直方图变成用户指定的向量hgram,hgram中的各元素值域为[0,1]; J = histeq(I,N):对原始图像I进行直方图均衡化,N为输出图像的灰度技术,默认N为64。 (3)imadjust函数 功能:调整图像灰度值或颜色映射表,增加图像的对比度。 调用格式: J = imadjust(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA):调整图像I的灰度值;[LOW_IN; HIGH_IN]指定原始图像中要变换的灰度范围;[LOW_OUT; HIGH_OUT]指定变换后的灰度范围;低于LOW_IN 、高于 HIGH_IN 的采取截取式;都可以使用空的矩阵[],默认值是[0 1]; GAMMA为标量,指定描述值I和值J关系的曲线 形状,如果小于1,此映射偏重更高数值(明亮)输出,如果
数字图像处理 实验二 图像增强

福建农林大学信息工程类实验报告系: 信息与机电工程系 专业: 电子信息工程 年级: 2009级 姓名: 庄建军 学号: 092230069 实验课程: 数字图像处理 实验室号:_ 实验1楼607 实验设备号: F5 实验时间: 2012.6.1 指导教师签字: 成绩:实验二 图像增强一、 实验目的1.掌握灰度直方图的概念及其计算方法;2.熟练掌握直力图均衡化和直方图规定化的计算过程;3.掌握平滑处理的算法和用途,学习使用均值滤波、中值滤波和拉普拉斯锐化进行图像增强处理的程序设计方法;4.了解噪声模型及对图像添加噪声的基本方法;5.利用MATLAB 程序进行图像增强。
二、 实验原理图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。
其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。
图像增强技术主要有直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。
1、直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像。
按照图像概率密度函数PDF 的定义:1,...,2,1,0 )(-==L k n n r p k k r通过转换公式获得:1,...,2,1,0 )()(00-====∑∑==L k n n r p r T s k j kj j j r k k2、均值(中值)滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其周围的临近像素。
将模板中的全体像素的均值(中值)来代替原来像素值的方法。
3、拉普拉斯算子如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--------111181111拉普拉斯算子首先将自身与周围的8个像素相减,表示自身与周围像素的差异,再将这个差异加上自身作为新像素的灰度。
三、 实验步骤1打开计算机,启动MATLAB 程序;程序组中“work ”文件夹中应有待处理的图像文件;2调入待处理的数字图像,并进行计算机均衡化处理;3启动MATLAB 程序,对图像文件分别进行直方图均衡化、均值滤波、中值滤波和拉普拉斯锐化操作;添加噪声,重复上述过程观察处理结果。
数字图像处理实验 实验二

实验二MATLAB图像运算一、实验目的1.了解图像的算术运算在数字图像处理中的初步应用。
2.体会图像算术运算处理的过程和处理前后图像的变化。
二、实验步骤1.图像的加法运算-imadd对于两个图像和的均值有:推广这个公式为:其中,。
这样就可以得到各种图像合成的效果,也可以用于两张图像的衔接。
说明:两个示例图像保存在默认路径下,文件名分别为'rice.png'和'cameraman.tif',要求实现下图所示结果。
代码:I1 = imread('rice.png');I2 = imread('cameraman.tif');I3 = imadd(I1, I2,'uint8');I4 = imadd(I1, I2,'uint16');subplot(2, 2, 1), imshow(I1), title('Ô-ʼͼÏñ1');subplot(2, 2, 2), imshow(I2), title('Ô-ʼͼÏñ2');subplot(2, 2, 3), imshow(I3), title('8λͼÏñÏÔʾ');subplot(2, 2, 4), imshow(I4), title('16λͼÏñÏÔʾ');结果截图:2.图像的减法运算-imsubtract说明:背景图像可通过膨胀算法得到background = imopen(I,strel('disk',15));,要求实现下图所示结果。
数字图像处理实验二

imshow(log(abs(g)),[]),color(jet(64));
title('傅立叶变换后的频谱');
fft2(g)));
subplot(223);
imshow(g);
title('通过理想滤波器');
I=imread('C:\picture\lena.bmp');%巴特沃斯低通滤波器
实验原理21应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具它能够定量地分析诸如数字化系统采样点电子放大器卷积滤波器噪音和显示点等的作用
实验名称
频域图像增强
指导老师
毕务忠
班级
信处152
实验日期
2018/4/17
实验地点
5205
学生信息
(依次填入姓名、学号)
张南卿
2015021118
成绩
colorbar;%显示图像的颜色条
title('离散傅立叶频谱');%图像命名
%理想低通滤波器
J=imread('C:\picture\lena.bmp');
figure(5);
subplot(221);
imshow(J);
title('原图像');
J=double(J);
f=fft2(J);
g=fftshift(f);
4.对频谱分别进行巴特沃兹、高斯滤波(高通和低通),比较其锐化和平滑效果
5.记录和整理实验报告。
5、实验结果及分析(包括程序和数据的记录及分析、实验总结等,可另附页)
i=imread('C:\picture\lena.bmp');%读入原图像文件
数字图像处理实验报告.doc

数字图像处理试验报告实验二:数字图像的空间滤波和频域滤波姓名: XX学号: 2XXXXXXX实验日期:2017年4月26日1. 实验目的1. 掌握图像滤波的基本定义及目的。
2. 理解空间域滤波的基本原理及方法。
3. 掌握进行图像的空域滤波的方法。
4. 掌握傅立叶变换及逆变换的基本原理方法。
5. 理解频域滤波的基本原理及方法。
6. 掌握进行图像的频域滤波的方法。
2. 实验内容与要求1. 平滑空间滤波:1) 读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。
2)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。
3)使用函数 imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’ replicate ’、’ symmetric ’、’ circular ’)进行低通滤波,显示处理后的图像。
4) 运用 for 循环,将加有椒盐噪声的图像进行10 次, 20 次均值滤波,查看其特点, 显示均值处理后的图像(提示 : 利用 fspecial 函数的’ average ’类型生成均值滤波器)。
5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。
6)自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。
2.锐化空间滤波1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 81;1,1, 1]对其进行滤波。
2) 编写函数 w = genlaplacian(n) ,自动产生任一奇数尺寸n 的拉普拉斯算子,如 5×5的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 11 1 1 1 1]3) 分别采用5×5,9×9,15×15 和 25×25 大小的拉普拉斯算子对blurry_moon.tif进行锐化滤波,并利用式 g(x, y)2 f (x, y) 完成图像的锐化增强,观察其有何f (x, y)不同,要求在同一窗口中显示。
数字图像处理实验二(直方图均衡化)

数字图像处理实验二直方图均衡化(直方图均衡化实质上是减少图象的灰度级以换取对比度的加大)例如:假设原图的灰度分布级为126(最大为256,也就是从0到255的级上的灰度都有或多或少的出现),经过直方图均衡化后,灰度分布级别将会小于126。
编程的时候请按照直方图均衡化公式进行。
下面给出大致的编程思路和源代码:其中黑框部分需要自己编写源代码1)利用第一次实验课提供的dhc.h 和dhc.c文件以获取位图的高宽以及从文件头到实际的位图数据的偏移字节数,从而实现对位图实际数据的操作。
利用include命令#include <stdio.h>#include <stdlib.h>#include <memory.h>#include "hdr.h"思考问题:#include <*.h> 和#include "*.h"在程序运行中有什么差别?2)定义结构指针struct bmphdr *hdr;定义用于直方图变量unsigned char *bitmap, new_color[256];定义计算灰度分布,灰度累计分布的数组int count[256], acum[256];3)main()函数编写//定义整数i,j 用于函数循环时的,nr_pixels为图像中像素的个数int i, j, nr_pixels;//定义两个文件指针分别用于提取原图像的数据和生成直方图均衡化后的图像FILE *fp, *fpnew;//定义主函数的参数包括:输入的位图文件名和输出的位图文件名,此处内容可以不要,在DOS下执行命令的时候再临时输入也可,为了方便演示,我这里直接把函数的参数确定了。
argc=3;argv[1]="test.bmp";argv[2]="testzf.bmp";//参数输入出错显示if (argc != 3) {printf("please input the name of input and out bitmap files\n");exit(1);}// 获取位图文件相关信息hdr = get_header(argv[1]);if (!hdr) exit(1);//以二进制可读方式打开输入位图文件fp = fopen(argv[1], "rb");if (!fp) {printf("File open error!\n");exit(1);}// 文件指针指向数据区域fseek(fp, hdr->offset, SEEK_SET);//计算位图像素的个数nr_pixels = hdr->width * hdr->height;bitmap = malloc(nr_pixels);//读取位图数据到bitmap中fread(bitmap, nr_pixels, 1, fp);fclose(fp);memset(count, 0, sizeof(count));//计算每个灰度级上像素的个数结果存入count[]数组中memcpy(acum, count, sizeof(acum));//计算灰度的累计分布for (i = 1; i < 256; i++)acum[i] += acum[i-1];//灰度直方图的均衡化(核心程序部分,请仔细分析)为了方便大家编程实现,这里直接给出了源代码,本实验最核心的部分就在这里//}//对所有的像素灰度值按照均衡化得到的灰度对应规则进行转换,结果存入bitmap[]中//fpnew = fopen(argv[2], "wb+");//由于位图文件的头部信息并没有因直方图均衡化而改变,因此输出图像的头部信息从原位图文件中拷贝即可:fwrite(hdr->signature, 2, 1, fpnew);fwrite(&hdr->size, 4, 1, fpnew);fwrite(hdr->reserved, 4, 1, fpnew);fwrite(&hdr->offset, 4, 1, fpnew);fwrite(&hdr->hdr_size, 4, 1, fpnew);fwrite(&hdr->width, 4, 1, fpnew);fwrite(&hdr->height, 4, 1, fpnew);fwrite(&hdr->nr_planes, 2, 1, fpnew);fwrite(&hdr->bits_per_pixel, 2, 1, fpnew);fwrite(&hdr->compress_type, 4, 1, fpnew);fwrite(&hdr->data_size, 4, 1, fpnew);fwrite(&hdr->resol_hori, 4, 1, fpnew);fwrite(&hdr->resol_vert, 4, 1, fpnew);fwrite(&hdr->nr_colors, 4, 1, fpnew);fwrite(&hdr->important_color, 4, 1, fpnew);if (hdr->offset > 54)fwrite(hdr->info, (hdr->offset - 54), 1, fpnew);////关闭fclose(fpnew);//释放内存(优化程序必需)free(hdr);free(bitmap);return 0;}。
数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)实验⼀ Matlab图像⼯具的使⽤1、读图I=imread('lena.jpg');imshow(I);2、读⼊⼀幅RGB图像,变换为灰度图像和⼆值图像,并在同⼀个窗⼝内分成三个⼦窗⼝来分别显⽰RGB图像和灰度图像。
a=imread('lena.jpg')i = rgb2gray(a)I = im2bw(a,0.5)subplot(3,1,1);imshow(a);subplot(3,1,2);imshow(i);subplot(3,1,3);imshow(I);原图像灰度图像⼆值图像实验⼆图像变换1、对⼀幅图像进⾏平移,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与平移后傅⾥叶频谱的对应关系。
s=imread('beauty.jpg');i=rgb2gray(s)i=double(i)j=fft2(i);k=fftshift(j); 原图像原图的傅⾥叶频谱l=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b)b=double(b) 平移后的图像平移后的傅⾥叶频谱c=fft2(b);e=fftshift(c);l=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);subplot(2,2,2);imshow(uint8(b));subplot(2,2,3);imshow(A);subplot(2,2,4);imshow(B);2、对⼀幅图像进⾏旋转,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与旋转后傅⾥叶频谱的对应关系。
遥感数字图像处理实验报告(二)

遥感数字图像处理实验报告(二)姓名:学号:班级:指导老师:1)项目名称:熟悉遥感软件、图像预处理2)实验目的:1. 熟悉遥感软件的使用,了解图像大小、投影、直方图等信息查看方法,了解相关软件的各项功能;2. 掌握遥感图像的几何精校正方法及步骤。
3)实验原理:几何校正就是将图像数据投影平面上,使其符合地图投影系统的过程。
而将地图坐标系统赋予到图像的过程,称为地理参考。
由于所有的地图投影系统都尊从于一定的地图坐标系统,所以几何校正的过程包含了地理参考过程。
对图像进行几何校正就是赋予其完整的地图坐标系统。
4)数据来源及数据基本信息:(下载源、波段数、对应的波长、分辨率、投影、地区)待校正图像来自Google Earth 2004年9月15日的影像,大致位置在东经116度20分,北纬33度57分,使用的是 DIGITAL GLOBLE 的QUICK BIRD卫星影像的0.6米分辨率的航拍照片,三波段,无投影。
待校正图像。
参考图像数据来自国际科学数据服务平台,Landsat5 2010年9月18日的图像,图像共7个波段,波段1-5和波段7的空间分辨率为30米,6波段(热红外波段)的空间分辨率为120米。
对应的波段、波长、分辨率、主要作用如表:图像采用的投影为WGS 84投影,条带号为122,行编号为36,覆盖豫东、皖北、苏北、鲁西四省交界地区。
5)实验过程:1)多波段合成:对参考图像数据进行波段组合2)打开图像,用两个Viewer窗口分别打开待校正图像和参考图像,查看其投影信息:待校正图像投影信息(无投影)参考图像投影信息(有投影)几何校正:————弹出图1窗口,点击Slecte Vewer——点击Viewer1,弹出图2窗口图1图4图3图2选择Polynomial多项式模型,OK——Polynomial Order选1,Map Units 选Meters,Apply, Close,弹出图3窗口,OK——点击Viewer窗口,选择要参考图像,弹出图4,点击OK,进入采点界面,开始采集地面控制点图5 图6图7采点完成后点击Geo Correction Tools 如(图5)中图标,弹出图6 对话框,输入保存路径,保存校正后的图像。
数字图像处理实验报告2

实验二: 数字图像的空间域滤波——平滑滤波1. 1. 实验目的2.掌握图像滤波的基本定义及目的。
3.理解空间域滤波的基本原理及方法。
4.掌握进行图像的空域滤波的方法。
1. 2. 实验基本原理2.空间域增强空间域滤波是在图像空间中借助模板对图像进行领域操作, 处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。
空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制, 同时保证其他分量不变, 达到增强图像的目的。
空域滤波一般分为线性滤波和非线性滤波两类。
各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。
平滑的目的可分为两类: 一类是模糊, 目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。
锐化的目的是为了增强被模糊的细节。
结合这两种分类方法, 可将空间滤波增强分为四类:线性平滑滤波器(低通)非线性平滑滤波器(低通)线性锐化滤波器(高通)非线性锐化滤波器(高通)1)空间滤波器都是基于模板卷积, 其主要工作步骤是:2)将模板在图中移动, 并将模板中心与图中某个像素位置重合;3)将模板上的系数与模板下对应的像素相乘;4)将所有乘积相加;5)将和(模板的输出响应)赋给图中对应模板中心位置的像素。
3.平滑滤波器1)线性平滑滤波器线性低通平滑滤波器也称为均值滤波器, 这种滤波器的所有系数都是正数, 对3×3的模板来说, 最简单的是取所有系数为1, 为了保持输出图像任然在原来图像的灰度值范围内, 模板与象素邻域的乘积都要除以9。
MATLAB 提供了fspecial 函数生成滤波时所用的模板, 并提供filter2和imfilter 函数用指定的滤波器模板对图像进行运算。
函数fspecial 的语法格式为:h=fspecial(type);h=fspecial(type,parameters);其中参数type 指定滤波器的种类, parameters 是与滤波器种类有关的具体参数。
数字图像处理实验报告

数字图像处理试验报告实验二:数字图像的空间滤波与频域滤波姓名:XX学号:2XXXXXXX 实验日期:2017 年4 月26 日1、实验目的1、掌握图像滤波的基本定义及目的。
2、理解空间域滤波的基本原理及方法。
3、掌握进行图像的空域滤波的方法。
4、掌握傅立叶变换及逆变换的基本原理方法。
5、理解频域滤波的基本原理及方法。
6、掌握进行图像的频域滤波的方法。
2、实验内容与要求1、平滑空间滤波:1) 读出一幅图像,给这幅图像分别加入椒盐噪声与高斯噪声后并与前一张图显示在同一图像窗口中。
2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果, 要求在同一窗口中显示。
3) 使用函数 imfilter 时, 分别采用不同的填充方法( 或边界选项, 如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。
4) 运用for 循环,将加有椒盐噪声的图像进行10 次,20 次均值滤波,查瞧其特点, 显示均值处理后的图像(提示:利用fspecial 函数的’average’类型生成均值滤波器)。
5) 对加入椒盐噪声的图像分别采用均值滤波法,与中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。
6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。
2、锐化空间滤波1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波。
2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5×5的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 11 1 1 1 1]3) 分别采用5×5,9×9,15×15与25×25大小的拉普拉斯算子对blurry_moon、tiff (x, y) -∇2 f (x, y) 完成图像的锐化增强,观察其有何进行锐化滤波,并利用式g(x, y) =不同,要求在同一窗口中显示。
数字图像处理实验2报告

数字图像处理实验212021133徐姚文电子信息工程电控学院2015年5月17日实验二图像直方图均衡Image Histogram Equalization一、目的与任务学习并掌握图像直方图均衡的基本理论,并通过分析均衡前后的图像验证课堂教学内容,总结直方图均衡的特点。
二、内容、要求与安排方式a) 实验内容对图像 img2 进行直方图均衡(img2为X光片图像)1.对比均衡前后图像的直方图及特点,a)图形显示其直方图以及灰度映射关系b)计算以下参数:概率非零灰度数,概率非零灰度中最大概率、最小概率、最大最小概率之比。
c)统计图像中概率大于平均概率的灰度级数;d)计算非零概率的平均值和方差e)您认为哪些参数能够表现图像直方图分布的均匀程度?试提取相关参数进行测试。
2.找一到两幅图像重复上述实验。
3.通过实验结果对比,能得出什么结论?三、实验源程序#include "stdio.h"typedef struct{unsigned char B,G,R;}pixel_RBG;#define H (158)#define W (200)#define Z_H (200)#define Z_W (300)int main(){FILE *fp,*fp2,*fp3,*fp4,*fp5;fp=fopen("hand1.bmp","rb");fp2=fopen("result.bmp","wb");fp3=fopen("1.bmp","rb");fp4=fopen("zft.bmp","wb");fp5=fopen("zft2.bmp","wb");unsigned char wenjiantou[54],wjt[54];pixel_RBG Pixel[H][W];pixel_RBG zft[Z_H][Z_W];long dsR[256]={0},dsG[256]={0},dsB[256]={0};double paR[256]={0},paG[256]={0},paB[256]={0};fread(wenjiantou,1,54,fp);fread(wjt,1,54,fp3);fread(Pixel,3,W*H,fp);int i,j;for(i=0;i<H;i++)for(j=0;j<W;j++){dsR[Pixel[i][j].R]++;dsG[Pixel[i][j].G]++;dsB[Pixel[i][j].B]++;}//灰度级的累计概率分布paR[0]=dsR[0]*(1.0/(W*H));paG[0]=dsG[0]*(1.0/(W*H));paB[0]=dsB[0]*(1.0/(W*H));for(i=1;i<256;i++){paR[i]=paR[i-1]+dsR[i]*(1.0/(W*H));paG[i]=paG[i-1]+dsG[i]*(1.0/(W*H));paB[i]=paB[i-1]+dsB[i]*(1.0/(W*H));}//灰度映射for(i=0;i<H;i++)for(j=0;j<W;j++){Pixel[i][j].R=(unsigned char)(255*paR[Pixel[i][j].R]+0.5);Pixel[i][j].G=(unsigned char)(255*paG[Pixel[i][j].G]+0.5);Pixel[i][j].B=(unsigned char)(255*paB[Pixel[i][j].B]+0.5);}printf("灰度映射关系:gk=255*fk+0.5\n");fwrite(wenjiantou,1,54,fp2);fwrite(Pixel,3,W*H,fp2);//////a、画原图直方图for(i=0;i<Z_H;i++)for(j=0;j<Z_W;j++){zft[i][j].B=255;zft[i][j].G=255;zft[i][j].R=255;} //画白色图纸for(i=10-1;i<=10;i++)for(j=10-1;j<=260+10;j++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=0;}for(j=10-1;j<=10;j++)for(i=10;i<=150;i++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=0;} //画坐标轴int max=0;for(i=0;i<256;i++){if(dsR[i]>max)max=dsR[i];}int m=0;for(j=10,m=0;j<=(255+10);j++,m++)for(i=10;i<=(10+(100*dsR[m]/max));i++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=255;} //直方图fwrite(wjt,1,54,fp4);fwrite(zft,3,Z_W*Z_H,fp4);//////b、求原图灰度概率double P[256]={0},maxP=0,minP=1;int count=0;for(i=0;i<256;i++){P[i]=(unsigned char)dsR[i]*(1.0/(W*H));if(P[i]!=0)count++;}for(i=0;i<256;i++){if(P[i]>maxP)maxP=P[i];if(P[i]<minP&&P[i]!=0)minP=P[i];}printf("###原图###\n概率非零灰度数:%d\n最大概率:%f\n最小概率:%f\n最大最小概率之比:%f\n",count,maxP,minP,maxP/minP);//////c、求原图概率大于平均概率的灰度级数double EP=0;for(i=0;i<256;i++){EP=EP+P[i];}EP=EP/255;printf("概率大于平均概率(%f)的灰度级数:\n",EP);for(i=0;i<256;i++){if(P[i]>EP)printf("%d\t",i);}printf("\n");//////d、计算原图非零概率的平均值和方差EP=0;double Var=0;for(i=0;i<256;i++){if(P[i]!=0)EP=EP+P[i];}EP=EP/count;for(i=0;i<256;i++){if(P[i]!=0)Var=Var+(P[i]-EP)*(P[i]-EP);}Var=Var/count;printf("非零概率的平均值:%f\t方差:%f\n",EP,Var); //重新计算灰度值的数量for(i=0;i<H;i++)for(j=0;j<W;j++){dsR[Pixel[i][j].R]++;dsG[Pixel[i][j].G]++;dsB[Pixel[i][j].B]++;}//////a、画直方图均衡后的直方图for(i=0;i<Z_H;i++)for(j=0;j<Z_W;j++){zft[i][j].B=255;zft[i][j].G=255;zft[i][j].R=255;} //画白色图纸for(i=10-1;i<=10;i++)for(j=10-1;j<=260+10;j++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=0;}for(j=10-1;j<=10;j++)for(i=10;i<=150;i++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=0;} //画坐标轴max=0;for(i=0;i<256;i++){if(dsR[i]>max)max=dsR[i];}for(j=10,m=0;j<=(255+10);j++,m++)for(i=10;i<=(10+(100*dsR[m]/max));i++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=255;} //直方图fwrite(wjt,1,54,fp5);fwrite(zft,3,Z_W*Z_H,fp5);//////b、求处理后图灰度概率maxP=0;minP=1;count=0;for(i=0;i<256;i++){P[i]=(unsigned char)dsR[i]*(1.0/(W*H));if(P[i]!=0)count++;}for(i=0;i<256;i++){if(P[i]>maxP)maxP=P[i];if(P[i]<minP&&P[i]!=0)minP=P[i];}printf("###结果图###\n概率非零灰度数:%d\n最大概率:%f\n最小概率:%f\n最大最小概率之比:%f\n",count,maxP,minP,maxP/minP);//////c、求结果图概率大于平均概率的灰度级数EP=0;for(i=0;i<256;i++){EP=EP+P[i];}EP=EP/255;printf("概率大于平均概率(%f)的灰度级数:\n",EP);for(i=0;i<256;i++){if(P[i]>EP)printf("%d\t",i);}printf("\n");//////d、计算结果图非零概率的平均值和方差EP=0;Var=0;for(i=0;i<256;i++){if(P[i]!=0)EP=EP+P[i];}EP=EP/count;for(i=0;i<256;i++){if(P[i]!=0)Var=Var+(P[i]-EP)*(P[i]-EP);}Var=Var/count;printf("非零概率的平均值:%f\t方差:%f\n",EP,Var);五、显示结果图像及对应参数原始图像:直方图均衡后图像:原图直方图:均衡后的直方图:对应参数:(由程序计算得出,运行结果截图如下)原始图像参数均衡后图像参数换一幅图像,重新实验:原始图像:直方图均衡后图像:原图直方图:均衡后的直方图:对应参数:(由程序计算得出,运行结果截图如下)原始图像参数12021133徐姚文均衡后图像参数六、实验结果分析及结论通过实验结果可知,当图像的有用数据的对比度相当接近的时候,通过直方图均衡化后,均衡化后的图像亮度可以更好地在直方图上分布。
数字图像处理实验报告 (2)

数字图像处理实验报告实验一数字图像基本操作及灰度调整一、实验目得1)掌握读、写图像得基本方法。
2)掌握MATLAB语言中图像数据与信息得读取方法。
3)理解图像灰度变换处理在图像增强得作用。
4)掌握绘制灰度直方图得方法,理解灰度直方图得灰度变换及均衡化得方法。
二、实验内容与要求1.熟悉MATLAB语言中对图像数据读取,显示等基本函数特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。
1)将MA TLAB目录下work文件夹中得forest、tif图像文件读出、用到imread,imfinfo等文件,观察一下图像数据,了解一下数字图像在MATLAB中得处理就就是处理一个矩阵。
将这个图像显示出来(用imshow)。
尝试修改map颜色矩阵得值,再将图像显示出来,观察图像颜色得变化。
2)将MATLAB目录下work文件夹中得b747、jpg图像文件读出,用rgb2gray()将其转化为灰度图像,记为变量B。
2.图像灰度变换处理在图像增强得作用读入不同情况得图像,请自己编程与调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应得处理效果。
3.绘制图像灰度直方图得方法,对图像进行均衡化处理请自己编程与调用Matlab函数完成如下实验。
1)显示B得图像及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函数将它得灰度值调整到[0,1]之间,并观察调整后得图像与原图像得差别,调整后得灰度直方图与原灰度直方图得区别。
2)对B进行直方图均衡化处理,试比较与源图得异同。
3)对B进行如图所示得分段线形变换处理,试比较与直方图均衡化处理得异同。
图1、1分段线性变换函数三、实验原理与算法分析1.灰度变换灰度变换就是图像增强得一种重要手段,它常用于改变图象得灰度范围及分布,就是图象数字化及图象显示得重要工具。
1)图像反转灰度级范围为[0,L-1]得图像反转可由下式获得2)对数运算:有时原图得动态范围太大,超出某些显示设备得允许动态范围,如直接使用原图,则一部分细节可能丢失。
电子科技大学数字图像处理实验报告2

电子科技大学数字图像处理实验报告实验名称彩色图像处理实验序号学生姓名学生学号指导教师提交日期摘要本实验利用MATLAB软件,对彩色图像作了一些简单处理。
通过访问数字图像RGB三个通道的对应矩阵,改变数字图像的色彩,得到了原图像的补色图像。
并编写了图像的RGB模型与HSI模型相互转换的程序,实现了两个模型之间的互相转换。
为了得到HSI模型的补色,可将HSI模型转换为RGB模型,用RGB的反色来近似HSI的反色。
然后对彩色图像加入高斯与椒盐噪声,观察了加入噪声后RGB三个通道的图像效果,并通过算术均值滤波与中值滤波分别对三个通道进行去噪,达到对整个彩色图像的去噪。
最后证明了单个通道的噪声会通过到HSI的转换扩散到所有HSI图像上。
实验原理:1、三基色原理:人的眼睛就像一个三色接收器的体系,大多数的颜色可以通过红、绿、蓝三色按照不同的比例合成产生。
同样绝大多数单色光也可以分解成红(red)绿(green)蓝(blue)三种色光。
这是色度学的最基本原理,即三基色原理。
三种基色是相互独立的,任何一种基色都不能由其它两种颜色合成。
红绿蓝是三基色,这三种颜色合成的颜色范围最为广泛。
红绿蓝三基色按照不同的比例相加合成混色称为相加混色。
人眼接收色彩的方法:加法混色。
光色(红色+绿色)=黄色(yellow)光色(红色+蓝色)=紫红(magenta)光色(蓝色+绿色)=青色(cyan)印刷四色:减法呈色颜料(黄色+青色)=白色-红色-蓝色=绿色颜料(紫红+青色)=白色-红色-绿色=蓝色颜料(黄色+紫红)=白色-绿色-蓝色=红色颜料色另外会附加一个黑色,即cyan、magenta、yellow、black四色(cmyk)。
2、彩色图像表示方法:RGB图像:一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色像素点都是在特定空间位置的彩色图像相对应的红绿蓝三个分量。
RGB图像可以看成是一个有三幅灰度图像形成的“堆”,形成一幅RGB图像的三个图像常称为红、绿或蓝分量图像。
数字图像处理实验

数字图像处理实验实验一:图像色彩编辑器一、图像色彩编辑器(ColorPicker)是一个基于对话框的应用程序,它具有以下功能:1、色彩编辑功能用户可以通过可以调整R、G、B的值来编辑颜色,亦可通过调整H、S、V的值来选取颜色。
颜色编辑的结果会马上反馈到颜色面板和颜色预览框中。
2、RGB颜色空间和HSV颜色空间的转换当改变RGB值,会得到相应的HSV值,并进行显示,反之亦然。
3、取色功能取色功能包含“面板取色”和“屏幕取色”。
面板取色就是用户可以在颜色面板中单击鼠标左键,选取目标点所表示的某种颜色。
屏幕取色则是允许用户获取整个屏幕上的任意一点的颜色值。
用户可以将鼠标移动到需要获取颜色的地方,然后按a键或A键即可以获取该点颜色值。
二、实验步骤1、创建新项目打开VC6.0,选择菜单中的[文件]——[新建]项目,在弹出的“新建项目”对话框中选择“MFC应用程序”模板,并在名称中输入“ColorPicker”,然后单击“确定”。
在“MFC 应用程序向导”的应用程序类型中选择“基本对话框”,其他选项采用系统默认设置,最后生成项目。
2、对话框设计设计对话框将解决各种控件的数量、摆放的位置和使用的名称等问题。
打开资源视图(ColorPicker Resources),点击对话框(Dialog),找到名为“IDD_COLORPICKER_DIALOG”的对话框资源,双击它进入编辑状态,并按照下图所示的图和表对该对话框进行编辑。
3、完成实例编程12 3 4 5 678 9 1011 12 13这里介绍一下组成ColorPicker 应用程序的每个文件的作用:(1)ColorPicker.vcproj这是使用应用程序向导生成的VC++ 项目的主项目文件。
它包含生成该文件的Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。
(2)ColorPicker.h这是应用程序的主要头文件。
数字媒体实验报告文档(3篇)

第1篇一、实验目的本次实验旨在通过实践操作,让学生掌握数字媒体的基本处理方法,了解数字媒体技术的应用领域,并能够运用所学知识进行简单的数字媒体创作。
二、实验内容1. 数字图像处理实验一:图像的获取与格式转换目的:学习使用图像采集设备获取图像,并了解常见的图像格式。
内容:使用数码相机拍摄一张照片,了解其图像格式,并使用图像处理软件进行格式转换。
实验二:图像的基本编辑操作目的:掌握图像的基本编辑操作,如裁剪、旋转、调整亮度等。
内容:使用图像处理软件对实验一获取的图像进行裁剪、旋转、调整亮度等操作。
实验三:图像滤波与锐化目的:学习图像滤波与锐化的方法,提高图像质量。
内容:使用图像处理软件对实验一获取的图像进行滤波与锐化处理。
2. 数字音频处理实验一:音频信号的获取与格式转换目的:学习使用音频采集设备获取音频,并了解常见的音频格式。
内容:使用麦克风录制一段音频,了解其音频格式,并使用音频处理软件进行格式转换。
实验二:音频的基本编辑操作目的:掌握音频的基本编辑操作,如剪切、合并、调整音量等。
内容:使用音频处理软件对实验一获取的音频进行剪切、合并、调整音量等操作。
实验三:音频效果处理目的:学习音频效果处理方法,如混响、回声等。
内容:使用音频处理软件对实验一获取的音频进行混响、回声等效果处理。
3. 数字视频处理实验一:视频信号的获取与格式转换目的:学习使用视频采集设备获取视频,并了解常见的视频格式。
内容:使用摄像机录制一段视频,了解其视频格式,并使用视频处理软件进行格式转换。
实验二:视频的基本编辑操作目的:掌握视频的基本编辑操作,如剪切、合并、调整播放速度等。
内容:使用视频处理软件对实验一获取的视频进行剪切、合并、调整播放速度等操作。
实验三:视频特效处理目的:学习视频特效处理方法,如慢动作、快动作等。
内容:使用视频处理软件对实验一获取的视频进行慢动作、快动作等特效处理。
三、实验步骤1. 准备实验环境安装数字媒体处理软件,如Adobe Photoshop、Adobe Audition、Adobe Premiere等。
数字图像处理四个实验

数字图像处理实验报告班级:学号:姓名:目录实验一MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割实验五形态学运算实验一MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验原理及知识点数字图像:一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
三、实验内容及步骤1.利用imread( )函数读取一幅图像,存入一个数组中;I=imread('lily'.tif');2.利用whos 命令提取该读入图像flower.tif的基本信息;whos I3.利用imshow()函数来显示这幅图像;imshow(I);4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;imfinfo('lily.tif');5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;imwrite(I,'flower.jpg','quality',50);6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。
imwrite(I,'flower.bmp');7.用imread()读入图像:Lenna.jpg 和camera.jpg;M=imread('Lenna.jpg'); N=imread('camera.jpg');8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;imfinfo('Lenna.jpg'); imfinfo('camera.jpg');9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二MATLAB图像运算
一、实验目的
1.了解图像的算术运算在数字图像处理中的初步应用。
2.体会图像算术运算处理的过程与处理前后图像的变化。
二、实验步骤
1.图像的加法运算-imadd
对于两个图像与的均值有:
推广这个公式为:
其中,。
这样就可以得到各种图像合成的效果,也可以用于两张图像的衔接。
说明:两个示例图像保存在默认路径下,文件名分别为'rice、png'与'cameraman、tif',要求实现下图所示结果。
代码:
I1 = imread('rice、png');
I2 = imread('cameraman、tif');
I3 = imadd(I1, I2,'uint8');
I4 = imadd(I1, I2,'uint16');
subplot(2, 2, 1), imshow(I1), title('Ô-ʼͼÏñ1');
subplot(2, 2, 2), imshow(I2), title('Ô-ʼͼÏñ2');
subplot(2, 2, 3), imshow(I3), title('8λͼÏñÏÔʾ');
subplot(2, 2, 4), imshow(I4), title('16λͼÏñÏÔʾ');
结果截图:
2.图像的减法运算-imsubtract
说明:
背景图像可通过膨胀算法得到background = imopen(I,strel('disk',15));,要求实现下图所示结果。
示例代码如下:
I1 = imread('rice、png');
background = imerode(I1, strel('disk', 15));
rice2 = imsubtract(I1, background);
subplot(2, 2, 1), imshow(I1), title('Ô-ʼͼÏñ');
subplot(2, 2, 2), imshow(background), title('±³¾°Í¼Ïñ');
subplot(2, 2, 3), imshow(rice2), title('´¦ÀíºóµÄͼÏñ');
结果截图:
3.图像的乘法运算-immultiply
说明:示例图像保存在默认路径下,文件名分别为'moon、tif',要求实现下图所示结
果(整体亮度增加1、5倍)。
代码如下:
moon = imread('moon、jpg');
moon2 = immultiply(moon, 1、5);
subplot(1, 2, 1), imshow(moon), title('Ô-ʼͼÏñ');
subplot(1, 2, 2), imshow(moon2), title('´¦ÀíºóµÄͼÏñ');
4.图像的除法运算-imdivide
K=imdivide (I,J);
图像的除法通常用于校正成像设备的非线性误差,也可用于检测两张图像间的差别,它给出的相应像素的变化比率,而不就是每个像素的绝对差异。
代码如下:
>> I=imread('cameraman、tif');
>> J = double(I);
>> J = J*0、43+90;
>> I2 = uint8(J);
>> Ip = imdivide(I,I2);
>> imshow(Ip,[])
结果
5.图像更的几何运算
Matlab提供了图像大小变化、旋转、错切、删除及反射等图像的几何操作,达到图像的配准与几何校正的目的。
(1)改变图像的大小-imresize
说明:要求将图像大小缩小至原来的一半
代码:
I1 = imread('rice、png');
I2= imresize(I1, 0、5);
结果截图
(2)图像旋转-imrotate
说明:要求将图像逆时针旋转90度
代码:
I1 = imread('cameraman、tif');
I2= imrotate(I1, 90);
结果截图
(3)空间变换
说明:要求对图像进行仿射变换
>> I = imread('cameraman、tif');
tform = maketform('affine',[1 0 0; 、5 1 0; 0 0 1]);
J = imtransform(I,tform);
imshow(I), figure, imshow(J)
三、思考题
由图像算术运算的运算结果,思考图像减法运算在什么场合上发挥优势?。