昆明理工大学数字图像处理课程综合报告(大作业)

昆明理工大学数字图像处理课程综合报告(大作业)
昆明理工大学数字图像处理课程综合报告(大作业)

数字图像处理课程综合报告

学生姓名:xxx

学号:2012xxxxxxxx

学院:理学院

专业年级:2012级电子信息科学与技术

指导老师:桂进斌

目录

实验二:反色与二值化: (3)

实验三:灰度变换 (5)

线性变化 (8)

指数变化 (9)

对数变换 (11)

实验四:图像几何变换 (12)

图像平移 (15)

图像旋转 (17)

水平镜像 (20)

垂直镜像 (21)

实验五:直方图均衡化 (22)

实验六:图像的平滑与锐化 (25)

均值滤波 (27)

中值滤波 (29)

梯度锐化 (32)

Sobel算子锐化 (33)

实验七:彩色图像处理 (34)

读取R分量 (34)

读取G分量 (36)

读取B分量 (38)

实验八:图像频域高通和低通滤波变换 (40)

低通滤波 (41)

高通滤波 (44)

实验二:反色与二值化:

图像的反色就是依次求出每个像素点的补色,由于用的是256位的图像,所以只需要使用255减去原本像素的色值即可。

图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。

在实验前期开发环境框架的搭建中就已经拿到图像在内存中的首地址存于Imgdata指针中,并开辟了一个用于存放处理后数据的内存空间Imgdata_tmp。在以后的图像处理算法中只需要直接对Imgdata指向的数据进行处理,并把处理结果存放在Imgdata_tmp中即可。

实现代码:

void MyBmp::Binaryzation(CDC *pDC){//binaryzation二值化if(m_DibHead==NULL)

MessageBox(NULL,"获取文件头失败!","错误",MB_OK);

if(m_hPalette!=NULL)

{

HDC hdc=pDC->GetSafeHdc();

::SelectPalette(hdc,m_hPalette,TRUE);

}

pDC->SetStretchBltMode(COLORONCOLOR);

int x = m_DibHead->biWidth;

int y = m_DibHead->biHeight;

TmpBmp = new unsigned char[m_ImageSize];

memset(TmpBmp,255,x*y);

char temp;

int ccc = 0;

for (int i = 0;i

for (int j = 0;j

{

ccc++;

temp = *(m_Image+i*x+j);

if ((10*temp+10)>=255)

{

TmpBmp[i*x+j] = (char)255;

}

else

TmpBmp[i*x+j] = 0;

}

//memcpy(m_Image,TmpBmp,x*y);

二值化效果:

char temp;

for (int i = 0;i

for (int j = 0;j

{

temp = m_Image[i*x+j];

TmpBmp[i*x+j] = 255 - temp;

}

//memcpy(m_Image,TmpBmp,x*y);

::StretchDIBits(pDC->GetSafeHdc(),500,0,((400<=(m_DibHead->biW idth))?400:(m_DibHead->biWidth))

,((400<=(m_DibHead->biHeight))?400:(m_DibHead->biHeight)),0,0, m_DibHead->biWidth,m_DibHead->biHeight,

TmpBmp,(LPBITMAPINFO)m_DibHead,DIB_RGB_COLORS,SRCCOPY);

delete[] TmpBmp;

TmpBmp = NULL;

}

反色效果:

实验三:灰度变换

灰度线性变换是灰度变换的一种,图像的灰度变换通过建立灰度映射来调整源图像的灰度从而达到图像增强的目的。灰度映射通常是用灰度变换曲线来表示的,如图 7所示。

灰度线性变换就是将图像的像素值通过指定的线性函数进行变换,以此增强或者减弱图像的灰度。灰度线性变换的公式就是常见的一维线性函数:

g(x, y)=kf(x, y)+d

设x为原始灰度值,则变换后的灰度值y为:

也可以在坐标系中表示转化关系,如图 7所示。

图 7 灰度线性变换

图 7坐标中的横轴表示输入灰度值,范围是0至 255;纵坐标表示输出灰度值,范围同样是0至255;直线则为线性变换函数的图形。如果将输入灰度值作为自变量x,则输出的灰度值就是函数y=T(x) 的运算结果。对于线性变换而言,有T(x)=kx+d。例如图 7中的变换函数为T(x)=x,即原公式中的k=1,d=0。

由数学知识可以知道k表示直线的斜率,也就是倾斜程度;d为线性函数在y 轴的斜率。下面通过讨论k的取值来分析灰度线性变换的效果。

1)当k>1时

此时可用于增加图像的对比度。图像的像素值在变换后全部增大,整体显示效果被增强,如图 8所示。

图 8 变换后的图像、对应变换函数和直方图

可以看到,图像经过变换后,其灰度分布被拉伸了。读者可以与图 1中的直方图进行比较。

2)当k=1时

这种情况常用于调节图像亮度。亮度的调节就是让图像的各像素值都增加或者减少一定量。这种情况下可以通过改变d的值达到增加或者减少图像亮度的目的,如图 9所示。

图 9 利用线性变换改变图像亮度

可以看到,当d>0时图像亮度增加,反之则减少。对应直方图的显示效果是灰度分布整体向右或者向左平移。

3)当0

效果与k>1 时刚刚相反,图像的对比度和整体效果都被削弱。从图 10中的直方图可以看到,灰度分布被集中在一段区域上。k越小,图像的灰度分布越窄,图像看起来也就越偏灰色。

图 10 利用线性变换改变图像对比度

4)当k<0时

在这种情况下,源图像较亮的区域变暗,而较暗的区域会变亮。此时可以使函数中的k=-1,d=255让图像实现反色效果,如图 11所示。

图11 利用线性变换让图像反色

代码实现

线性变化

MyBmp::LinearTrans(CDC *pDC,int a,int b){//LinearTrans线性变化if(m_DibHead==NULL)

MessageBox(NULL,"获取文件头失败!","错误",MB_OK);

if(m_hPalette!=NULL)

{

HDC hdc=pDC->GetSafeHdc();

::SelectPalette(hdc,m_hPalette,TRUE);

}

pDC->SetStretchBltMode(COLORONCOLOR);

int x = m_DibHead->biWidth;

int y = m_DibHead->biHeight;

TmpBmp = new unsigned char[m_ImageSize];

memset(TmpBmp,255,x*y);

for (int i = 0;i

for (int j = 0;j

{

if ((a*m_Image[i*x+j]+b)>=255)

{

TmpBmp[i*x+j] = 255;

}

else

TmpBmp[i*x+j] = a*m_Image[i*x+j]+b;

}

//memcpy(m_Image,TmpBmp,x*y);

::StretchDIBits(pDC->GetSafeHdc(),500,0,((400<=(m_DibHead->biW idth))?400:(m_DibHead->biWidth))

线性变换效果:

指数变化

memset(TmpBmp,255,x*y);

for (int i = 0;i

for (int j = 0;j

{

double e = a;

int m = m_Image[i*x+j];

if ( (pow( e,m ))>=255 )

{

TmpBmp[i*x+j] = 255;

}

else

TmpBmp[i*x+j] = 100*pow( 1.0,m);

}

//memcpy(m_Image,TmpBmp,x*y);

::StretchDIBits(pDC->GetSafeHdc(),500,0,((400<=(m_DibHead->biW idth))?400:(m_DibHead->biWidth))

,((400<=(m_DibHead->biHeight))?400:(m_DibHead->biHeight)),0,0, m_DibHead->biWidth,m_DibHead->biHeight,

TmpBmp,(LPBITMAPINFO)m_DibHead,DIB_RGB_COLORS,SRCCOPY);

delete[] TmpBmp;

TmpBmp = NULL;

}

指数变换效果:

对数变换

void MyBmp::Log10(CDC *pDC)

{

if(m_DibHead==NULL)

MessageBox(NULL,"获取文件头失败!","错误",MB_OK);

if(m_hPalette!=NULL)

{

HDC hdc=pDC->GetSafeHdc();

::SelectPalette(hdc,m_hPalette,TRUE);

}

pDC->SetStretchBltMode(COLORONCOLOR);

int x = m_DibHead->biWidth;

int y = m_DibHead->biHeight;

TmpBmp = new unsigned char[m_ImageSize];

memset(TmpBmp,255,x*y);

for (int i = 0;i

for (int j = 0;j

{

float m = m_Image[i*x+j]*1.0;

TmpBmp[i*x+j] =

50*log( static_cast(m_Image[i*x+j]) );

}

//memcpy(m_Image,TmpBmp,x*y);

::StretchDIBits(pDC->GetSafeHdc(),500,0,((400<=(m_DibHead->biW idth))?400:(m_DibHead->biWidth))

,((400<=(m_DibHead->biHeight))?400:(m_DibHead->biHeight)),0,0, m_DibHead->biWidth,m_DibHead->biHeight,

TmpBmp,(LPBITMAPINFO)m_DibHead,DIB_RGB_COLORS,SRCCOPY);

delete[] TmpBmp;

TmpBmp = NULL;

}

对数变换效果:

实验四:图像几何变换

图像几何变换的一般表达式:

[u,v]为变换后图像像素的笛卡尔坐标,[x,y]为原始图像中像素的笛卡尔坐标。这样就得到了原始图像与变换后图像的像素的对应关系。

如果,则有,即变换后图像仅是原图

像简单拷贝。

平移原理:在图像平移是将一幅图像中所有的点都按照指定的平移量在水平、

平移的直角坐标公式:图像的平移非常简单,所用到的是中学学过的直角坐标系的平移变换公式:

?

?

?

?

+

=

?

+

=

y

y

y

x

x

x

平移的齐次坐标公式:变换前后图像上的点P0(x0, y0)和P(x1, y1)

之间的关系可以用如下的矩阵变换表示为:

图像的平移示意图

图像的镜像

y1=y0

图像的旋转理论基础

图像的旋转是指以图像中的某一点为原点以逆时针或顺时针的方向旋转一定的角度。

图像的旋转变换也可以用矩阵变换表示。设点P0(x0, y0)

旋转α角后的对应点为P(x, y)。

直角坐标系的图像旋转

旋转公式:将输入图像绕笛卡尔坐标系的原点逆时针旋转角度,则变换后图像的坐标为:

这个计算公式计算出的值为小数,而坐标值为正整数。

这个计算公式计算的结果值所在范围与原来的值所在的范围不同。

因此需要前期处理:扩大画布,取整处理(解决小数问题),平移处理(解决负数问题)

注意是逆时针转角

上式写成齐次坐标为:

?

?

?

+

=

-

=

θ

θ

θ

θ

cos

sin

'

sin

cos

'

y

x

y

y

x

x

????

?

????????

??

???????-=???

???????11000cos sin 0sin cos 100y x y x θθθθ

其中,θ角度由正负之分,即点P 在XY 平面的内绕原点逆时针旋转所形成的角度为正,反之为负。 代码实现: 图像平移

void MyBmp::Smooth(CDC *pDC,int len) {

if(m_DibHead==NULL) MessageBox(NULL,"获取文件头失败!","错误",MB_OK); if(m_hPalette!=NULL) {

HDC hdc=pDC->GetSafeHdc();

::SelectPalette(hdc,m_hPalette,TRUE); }

pDC->SetStretchBltMode(COLORONCOLOR); int x = m_DibHead->biWidth; int y = m_DibHead->biHeight; ////----------------------

struct M_panning_length{ int delta_x; int delta_y; };

M_panning_length m_panning_length = {0,0}; if (len>5) {

m_panning_length.delta_x = (len-5)*30; m_panning_length.delta_y = (len-5)*30; }

long widthPix,heightPix;

widthPix=m_DibHead->biWidth; heightPix=m_DibHead->biHeight; // float tmp;

LPBYTE m_Image_temp=(LPBYTE) new char[m_ImageSize]; memset(m_Image_temp,255,m_ImageSize);

//memcpy(m_Image,m_Image_backup,m_ImageSize);

int count=0;

int old_y;

int old_x;

int old_position;

int new_position;

int ff = 0;

if(len>5)

ff = 2;

if(len<=5)

ff = 1;

switch (ff)

{

case 1:{

for(int i=0;i

for(int j=0;j

{

old_y=i;

old_x=j;

old_position=i*widthPix+j;

int nxx;

nxx=old_x-m_panning_length.delta_x;

if(nxx<0)

continue;

count++;

new_position=i*widthPix+nxx;

m_Image_temp[new_position]=m_Image[old_position];

}

}

break;

case 2:{

for(int i=0;i

for(int j=0;j

{

old_y=i;

old_x=j;

old_position=i*widthPix-1+j;

int nxx;

nxx=old_x+m_panning_length.delta_x;

if(nxx>widthPix-1)

continue;

count++;

new_position=i*widthPix-1+nxx;

m_Image_temp[new_position]=m_Image[old_position];

平移效果:

图像旋转

{

HDC hdc=pDC->GetSafeHdc();

::SelectPalette(hdc,m_hPalette,TRUE);

}

pDC->SetStretchBltMode(COLORONCOLOR);

int x = m_DibHead->biWidth;

int y = m_DibHead->biHeight;

//--------------------------

long widthPix,heightPix;

widthPix=m_DibHead->biWidth;

heightPix=m_DibHead->biHeight;

// float tmp;

LPBYTE m_Image_temp=(LPBYTE) new char[m_ImageSize];

memset(m_Image_temp,255,m_ImageSize);

int count=0;

int old_y;

int old_x;

int old_position;

int new_position;

float nxx;

float new_x;

float new_y;

//nxx=(M_PI)*10/180;

nxx=(M_PI)*angle/180;

for(int i=0;i

for(int j=0;j

{

old_y=i;

old_x=j;

old_position=i*widthPix+j;

//old_position=3*i*widthPix+j*3;//真彩色

new_x=(old_x-widthPix/2)*cos(nxx)-(old_y-heightPix/2)*sin(nxx) +widthPix/2;

new_y=(old_y-heightPix/2)*cos(nxx)+(old_x-widthPix/2)*sin(nxx) +heightPix/2;

if(new_x<0||new_y<0||new_x>widthPix-1||new_y>heightPix-1)

continue;

new_position=((int)new_y)*widthPix+((int)new_x);

m_Image_temp[old_position]=m_Image[new_position];

m_Image_temp[old_position+1]=m_Image[new_position+1];

m_Image_temp[old_position+2]=m_Image[new_position+2];

}

::StretchDIBits(pDC->GetSafeHdc(),500,0,((400<=(m_DibHead->biW idth))?400:(m_DibHead->biWidth))

,((400<=(m_DibHead->biHeight))?400:(m_DibHead->biHeight)),0,0, m_DibHead->biWidth,m_DibHead->biHeight,

m_Image_temp,(LPBITMAPINFO)m_DibHead,DIB_RGB_COLORS,SRCCOPY); }

旋转效果:

void MyBmp::MirHor(CDC *pDC)

{

LPBYTE Imgdata_tmp = (LPBYTE) new char[m_ImageSize];

LPBYTE Imgdata = m_Image;

long w,h;

long i,j;

w=m_DibHead->biWidth;

h=m_DibHead->biHeight;

//::MessageBox(NULL,"heooo","hshh",MB_OK);

for(i=0;i

for(j=0;j

{

Imgdata_tmp[i*w+w-j-1]=Imgdata[i*w+j];

}

::StretchDIBits(pDC->GetSafeHdc(),500,0,((400<=(m_DibHead->biW idth))?400:(m_DibHead->biWidth))

,((400<=(m_DibHead->biHeight))?400:(m_DibHead->biHeight)),0,0, m_DibHead->biWidth,m_DibHead->biHeight,

Imgdata_tmp,(LPBITMAPINFO)m_DibHead,DIB_RGB_COLORS,SRCCOPY);

delete Imgdata_tmp;

}

水平镜像效果:

数字图像处理实验报告完整版

数字图像处理 实验一 MATLAB数字图像处理初步 一、显示图像 1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中; 2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像; 实验结果如下图: 源代码: >>I=imread('lily.tif') >> whos I >> imshow(I) 二、压缩图像 4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息; 5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。 6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。7.用imread()读入图像Sunset.jpg和Winter.jpg; 8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小; 9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。 其中9的实验结果如下图:

源代码: 4~6(接上面两个) >>I=imread('lily.tif') >> imfinfo 'lily.tif'; >> imwrite(I,'lily.jpg','quality',20); >> imwrite(I,'lily.bmp'); 7~9 >>I=imread('Sunset.jpg'); >>J=imread('Winter.jpg') >>imfinfo 'Sunset.jpg' >> imfinfo 'Winter.jpg' >>figure(1),imshow('Sunset.jpg') >>figure(2),imshow('Winter.jpg') 三、二值化图像 10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。实验结果如下图: 源代码: >> I=imread('lily.tif') >>gg=im2bw(I,0.4); F>>igure, imshow(gg)

昆明理工大学电机学实验报告..

昆明理工大学实验报告 实验课程名称: 电机学实验 开课实验室: 电机实验室 2013年7月5日 年级、专业、班 电自11级 3 班 学号 201110901141 姓名 刘盼 成绩 实验项目名称 电机综合实验 指导教师 教 师 评 语 教师签名 2013年 7 月 5 日 实验一、变压器综合实验 三相变压器并联运行 一、 实验目的 1.学习三相变压器投入并联运行的方法。 2.测试三相变压器并联运行条件不满足时的空载电流。 3.研究三相变压器并联运行时负载的分配规律。 二、 实验原理 理想的并联运行的变压器应满足以下条件: 1、空载时,各变压器的相应的次级电压必须相等而且同相位。为满足此条件,并联个变压器应有相同电压变比:即k1=k2=k3…kn 且属于相同的连接组,不同连接组别的变压器不能并联运行。 2、在有负载时,各变压器的所分担的负载电流英语他们的容量成正比。为满足此条件,保证各个变压器所分担的负载电流与其容量成正比例,各变压器应该有相同的短路电压标幺值。 3、各变压器的负载电流都应同相位。为满足此条件,要求各变压器短路电阻与短路电抗的比值相等。即要求阻抗电压降的有功分量和无功分量分别相等,即各个变压器应该有相同的短路电压有功分量和无功分量。 4.变压器并联运行时的负载分配 。当变压器并联运行时,通常短路电压标幺值随着容量的不同而不相同,大容量的变压器有较大的短路电压。各个并联运行的变压器实际分担负载的计算公式: 由此可见,各个变压器的负载分配与该变压器的额定容量成正比,与短路电压成反比。如果各个变压器的短路电压相同,则变压器的负载分配只与额定容量成正比。

三、实验线路 图A-1 实验线路 四、实验结果及分析 1、测试两台三相变压器满足理想条件并联运行时的空载电流实验参数: 图A-2 实验参数设置Ⅰ

数字图像处理 课程设计报告

数字图像处理 课程设计报告 姓名: 学号: 班级: 设计题目:图像处理 教师:赵哲老师 提交日期: 12月29日

一、设计内容: 主题:《图像处理》 详细说明:对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等), 二、涉及知识内容: 1、二值化 2、各种滤波 3、算法等 三、设计流程图 四、实例分析及截图效果: 运行效果截图: 第一步:读取原图,并显示 close all;clear;clc; % 清楚工作窗口clc 清空变量clear 关闭打开的窗口close all I=imread(''); % 插入图片赋给I imshow(I);% 输出图I I1=rgb2gray(I);%图片变灰度图 figure%新建窗口 subplot(321);% 3行2列第一幅图 imhist(I1);%输出图片

title('原图直方图');%图片名称 一,图像处理模糊 H=fspecial('motion',40); %% 滤波算子模糊程度40 motion运动 q=imfilter(I,H,'replicate');%imfilter实现线性空间滤波函数,I图经过H滤波处理,replicate反复复制q1=rgb2gray(q); imhist(q1); title('模糊图直方图'); 二,图像处理锐化 H=fspecial('unsharp');%锐化滤波算子,unsharp不清晰的 qq=imfilter(I,H,'replicate'); qq1=rgb2gray(qq); imhist(qq1); title('锐化图直方图'); 三,图像处理浮雕(来源网络) %浮雕图 l=imread(''); f0=rgb2gray(l);%变灰度图 f1=imnoise(f0,'speckle',; %高斯噪声加入密度为的高斯乘性噪声 imnoise噪声污染图像函数 speckle斑点 f1=im2double(f1);%把图像数据类型转换为双精度浮点类型 h3=1/9.*[1 1 1;1 1 1;1 1 1]; %采用h3对图像f2进行卷积滤波 f4=conv2(f1,h3,'same'); %进行sobel滤波 h2=fspecial('sobel'); g3=filter2(h2,f1,'same');%卷积和多项式相乘 same相同的 k=mat2gray(g3);% 实现图像矩阵的归一化操作 四,图像处理素描(来源网络) f=imread(''); [VG,A,PPG] = colorgrad(f); ppg = im2uint8(PPG); ppgf = 255 - ppg; [M,N] = size(ppgf);T=200; ppgf1 = zeros(M,N); for ii = 1:M for jj = 1:N if ppgf(ii,jj)

数字图像处理 作业1汇总

数字图像处理 报告标题:01 报告编号: 课程编号: 学生姓名: 截止日期: 上交日期:

摘要 (1)编写函数计算灰度图像的均方误差(MSE)、信噪比(SNR)、峰值信噪比(PSNR)、平均绝对误差(MAE);(2)编写函数对灰度图像经行降采样,直接消除像素以及消除像素前进行简单平滑滤波;(3)编写函数对图像进行放大,分别使用像素直接复制和双线性插值的方法:(4)编写函数用题目给出的量化步骤Q去量化灰度图像,并给出相应的MSE和直方图;(5)编写函数对灰度图像执行直方图均衡化,显示均衡前后的直方图。同时,熟悉使用MATLAB,并且熟练操作对图像进行各种修改变换等。 KEY WORD :MATLAB MSE、PSNR 直方图量化

技术探讨 数字图像处理是基于Matlab来实现的,由于Matlab 独特的功能和对矩阵,图像,函数灵活的处理,因而用于图像的处理相当的方便。 task1 均方误差(MSE),信噪比(SNR),峰值信噪比(PSNR),平均绝对误差(MAE)。可以使用使用for循环语句,分别计算图像MSE/SNR/PSNR/MAE,具体的计算公式见附录代码,下面只附运算原理代码 均方误差(MSE): sum=sum+(a(i,j)-b(i,j))^2; MSE=sum/(M*N) 信噪比(SNR): sum2=sum2+a(i,j)^2; SNR=10*log10(sum2/MSE) 峰值信噪比(PSNR): sum=sum+(a(i,j)-b(i,j))^2; PSNR=10*log10(255^2/MSE) 平均绝对误差(MAE): sum=sum+a(i,j)+b(i,j); MAE=sum/(M*N) 在每次对同一个图像处理时它们的均方误差(MSE),信噪比(SNR),峰值信噪比(PSNR),平均绝对误差(MAE)都会有所不同,因为它是原图像与加噪后的图像比较,而电脑的每次操作都会对加噪过得图像有影响。 task3 按比例缩小灰度图像 (1)直接消除像素点: I1=g(1:m:end,1:m:end);I1 为缩小后的图像,g为原图。 (2)先平滑滤波再消除像素点: 滤波函数,g=imfilter(I,w,'corr','replicate'); task4 对图像的放大运用了pixel repetition法以及双线性插值法: 它有三种插值法:即最近邻插值(pixel repetition)、双线性插值、双三次插值(缩放倍数为0.5) ;缩放与放大由给定的参数来确定。 ;缩放与放大由给定的参数来确定。而缩小则同样适用I1=g(1:m:end,1:m:end); 而放大的代码为“J=imresize(I,m,'nearest');%使用pixel repetition法”和“J=imresize(I,m,'bilinear');%使用双线性插值法” 放大倍数更改m值即可 task4 对图像的量化,使用“J=histeq(I,x); ”,x为可变的量化步长 task5 灰度图像的量化和直方图均衡化直接调用函数。“J=histeq(I)”“imhist(I,64)”

数字图像处理实验报告

实验一灰度图像直方图统计 一、实验目的 掌握灰度图像直方图的概念和计算方法,了解直方图的作用和用途。提高学生编程能力,巩固所学知识。 二、实验内容和要求 (1)用Photoshop显示、了解图像平均明暗度和对比度等信息; (2)用MatLab读取和显示一幅灰度图像; (3)用MatLab编写直方图统计的程序。 三、实验步骤 1. 使用Photoshop显示直方图: 1)点击文件→打开,打开一幅图像; 2)对图像做增强处理,例如选择图像→调整→自动对比度对图像进行灰度拉伸,观察图像进行对比度增强前后的视觉变化。 3)利用统计灰度图像直方图的程序分别针对灰度拉伸前后的灰度图像绘制其灰度直方图,观察其前后的直方图变化。 2.用MatLab读取和显示一幅灰度图像; 3. 绘制图像的灰度直方图; function Display_Histogram()

Input=imread('timg.jpg'); figure(100); imshow(uint8(Input)); title('原始图像'); Input_Image=rgb2gray(Input); figure(200); imshow(uint8(Input_Image)); title('灰度图像'); sum=0; His_Image=zeros(1,256); [m,n]=size(Input_Image); for k=0:255 for I=1:m for j=1:n if Input_Image(I,j)==k His_Image(k+1)=His_Image(k+1)+1; end end end end figure(300); plot(His_Image); title('图像的灰度直方图'); 4.显示图像的灰度直方图。

昆明理工大学进程管理实验报告

昆明理工大学信息工程与自动化学院学生实验报告 (2010 —2011 学年第二学期) 课程名称:操作系统开课实验室:年月日 目录 一、实验目的 (1) 二、实验原理及基本技术路线图 (1) 1. 进程的状态转换图 (2) 2. 各原语的功能说明 (2) 3.多级反馈队列调度算法的描述 (3) 4. 程序功能结构图 (4) 5. 流程图 (4) 6. 数据结构定义 (5) 7. 主要变量的说明 (6) 8. 函数的说明 (6) 四、实验方法、步骤 (6) 五、实验过程原始记录 (18) 六、实验结果、分析和结论 (21) 一、实验目的 通过编写进程管理的算法,要求学生掌握整个进程管理的各个环节,进程的数据结构描述,进程的各种状态之间的转换,以及进程的调度算法。以加深对进程的概念及进程调度算法的理解,并且提高链表的应用能力,达到提高编程能力的目的。 二、实验原理及基本技术路线图(方框原理图) 用C语言或C++语言开发。需要定义PCB的数据结构,用链表的形式管理进程,采用

多级反馈队列调度的算法模拟进程的控制。要求有创建、撤销、调度、阻塞、唤醒进程等功能。 1.进程的状态转换图: 2.各原语的功能说明: -进程创建原语:进程创建是调用创建原语来实现。创建原语扫描系统的PCB链表,在找到一定PCB 链表之后,填入调用者提供的有关参数(这些参数包括:进程名、进程优先级P0、进程正文段起始地址d0、资源清单R0等),最后形成代表进程的PCB结构。 -进程撤销(终止): 撤消原语首先检查PCB进程链或进程家族,寻找所要撤消的进程是否存在。如果找到了所要撤消的进程的PCB结构,则撤消原语释放该进程所占有的资源之后,把对应的PCB结构从进程链或进程家族中摘下并返回给PCB空队列。如果被撤消的进程有自己的子进程,则撤消原语先撤消其子进程的PCB结构并释放子进程所占用的资源之后,再撤消当前进程的PCB结构和释放其资源。

武汉科技大学 数字图像处理实验报告

二○一四~二○一五学年第一学期电子信息工程系 实验报告书 班级:电子信息工程(DB)1102班姓名 学号: 课程名称:数字图像处理 二○一四年十一月一日

实验一图像直方图处理及灰度变换(2学时) 实验目的: 1. 掌握读、写、显示图像的基本方法。 2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。 3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。 实验内容: 1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。 2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。 3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。 实验步骤: 1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图: I1=imread('pic.jpg'); %读取图像 I2=rgb2gray(I1); %将彩色图变成灰度图 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('灰度图'); subplot(3,2,4); imhist(I2); %统计直方图 title('统计直方图'); subplot(3,2,5); J=histeq(I2); %直方图均衡 imshow(J); title('直方图均衡'); subplot(3,2,6); imhist(J); title('统计直方图');

原 图 灰度图 01000 2000 3000统计直方图 100200直方图均衡 0统计直方图 100200 仿真分析: 将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。从直方图上反应,暗部到亮部像素分布更加均匀。 2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png'); I2=im2bw(I1,0.5); %选取阈值为0.5 I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('阈值变换'); subplot(3,2,5); imshow(I3); title('灰度调整'); subplot(3,2,2); imhist(I1); title('统计直方图'); subplot(3,2,4);

数字图像处理部分作业答案

3.数字化图像的数据量与哪些因素有关? 答:数字化前需要决定影像大小(行数M、列数N)和灰度级数G的取值。一般数字图像灰度级数G为2的整数幂。那么一幅大小为M*N,灰度级数为G的图像所需的存储空间M*N*g(bit),称为图像的数据量 6.什么是灰度直方图?它有哪些应用?从灰度直方图你能获得图像的哪些信息? 答:灰度直方图反映的是一幅图像中各灰度级像素出项的频率之间的关系。以灰度级为横坐标,纵坐标为灰度级的频率,绘制频率同灰度级的关系图就是灰度直方图。 应用:通过变换图像的灰度直方图可以,使图像更清晰,达到图像增强的目的。 获得的信息:灰度范围,灰度级的分布,整幅图像的平均亮度。但不能反映图像像素的位置。 2. 写出将具有双峰直方图的两个峰分别从23和155移到16和255的图像线性变换。 答:将a=23,b=155 ;c=16,d=255代入公式: 得 1,二维傅里叶变换有哪些性质?二维傅里叶变换的可分离性有何意义? 周期性,线性,可分离性,比例性质,位移性质,对称性质,共轭对称性,差分,积分,卷积,能量。 意义:分离性表明:二维离散傅立叶变换和反变换可用两组一维离散傅立叶变换和反变换来完成。 8.何谓图像平滑?试述均值滤波的基本原理。 答:为了抑制噪声改善图像质量所进行的处理称图像平滑或去噪。 均值滤波是一种局部空间域处理的算法,就是对含有噪声的原始图像f(x,y)的每个像素点取一个领域S,计算S中所有像素的灰度级平均值,作为空间域平均处理后图像g(x,y)像素值。 9.何谓中值滤波?有何特点? 答:中值滤波是对一个滑动窗口内的诸像素灰度值排序,用中值代替窗口中心像素的原来灰度值,它是一种非线性的图像平滑法。 它对脉冲干扰及椒盐噪声的的图像却不太合适。抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。但它对点、线等细节较多 6图像几何校正的一般包括哪两步?像素灰度内插有哪三种方法?各有何特点? 答:1)建立失真图像和标准图像的函数关系式,根据函数关系进行几何校正。 2)最近邻插值,双线性插值,三次卷积法 3)最近邻插值:这种插值方法运算量小,但频域特性不好。 3、若f(1,1)=4,f(1,2)=7,f(2,1)=5,f(2,2)=6,分别按最近邻元法、双线性插值法确定点(1.2,1.6)的灰度值。 最近邻元法:点(1.2,1.6)离(1,2)最近,所以其灰度值为7.双线性法:f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1) 将i=1,j=1,u=0.2,v=0.6代入,求得:f(i+u,j+v)=5.76。四舍五入取整后,得该点其灰度值为6

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 1)掌握读、写图像的基本方法。 2)掌握MATLAB语言中图像数据与信息的读取方法。 3)理解图像灰度变换处理在图像增强的作用。 4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方 法。 二、实验内容与要求 1.熟悉MATLAB语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。 1)将MATLAB目录下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]的图像反转可由下式获得 r L s --=1 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围, 如直接使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换: s = c log(1 + r ),c 为常数,r ≥ 0 3) 幂次变换: 0,0,≥≥=γγc cr s 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

昆明理工大学进程管理实验报告

理工大学信息工程与自动化学院学生实验报告 ( 2010—2011学年第二学期) 课程名称:操作系统开课实验室:年月日 目录 一、实验目的1 二、实验原理及基本技术路线图1 1.进程的状态转换图2 2.各原语的功能说明2 3.多级反馈队列调度算法的描述3 4.程序功能结构图4 5.流程图4 6.数据结构定义5 7.主要变量的说明6 8.函数的说明6 四、实验方法、步骤6 五、实验过程原始记录18 六、实验结果、分析和结论21 一、实验目的 通过编写进程管理的算法,要求学生掌握整个进程管理的各个环节,进程的数据结构描述,进程的各种状态之间的转换,以及进程的调度算法。以加深对进程的概念及进程调度算法的理解,并且提高链表的应用能力,达到提高编程能力的目的。 二、实验原理及基本技术路线图(方框原理图) 用C语言或C++语言开发。需要定义PCB的数据结构,用链表的形式管理进程,采用多

级反馈队列调度的算法模拟进程的控制。要求有创建、撤销、调度、阻塞、唤醒进程等功能。 1.进程的状态转换图: 2.各原语的功能说明: -进程创建原语:进程创建是调用创建原语来实现。创建原语扫描系统的PCB链表,在找到一定PCB 链表之后,填入调用者提供的有关参数(这些参数包括:进程名、进程优先级P0、进程正文段起始地址d0、资源清单R0等),最后形成代表进程的PCB结构。 -进程撤销(终止): 撤消原语首先检查PCB进程链或进程家族,寻找所要撤消的进程是否存在。如果找到了所要撤消的进程的PCB结构,则撤消原语释放该进程所占有的资源之后,把对应的PCB结构从进程链或进程家族中摘下并返回给PCB空队列。如果被撤消的进程有自己的子进程,则撤消原语先撤消其子进程的PCB结构并释放子进程所占用的资源之后,再撤消当前进程的PCB结构和释放其资源。 -阻塞原语:当发生引起阻塞的事件时,该原语被该进程自己调用来阻塞自己。阻塞

数字图像处理技术应用课程报告

集中稀疏表示的图像恢复 董伟胜中国西安电子科技大学电子工程学院wsdong@https://www.360docs.net/doc/6817070683.html, 张磊香港理工大学计算机系cslzhang@https://www.360docs.net/doc/6817070683.html,.hk 石光明中国西安电子科技大学电子工程学院gmshi@https://www.360docs.net/doc/6817070683.html, 摘要 本文对于图像恢复任务提出了一种新的称为集中稀疏表示(CSR)的稀疏表示模型。为了重建高还原度的图像,通过给定的字典,退化图像的稀疏编码系数预计应该尽可能接近那些未知的原始图像。然而,由于可用的数据是原始图像的退化版本(如噪声、模糊和/或者低采样率),正如许多现有的稀疏表示模型一样,如果只考虑局部的稀疏图像,稀疏编码系数往往不够准确。为了使稀疏编码更加准确,通过利用非局部图像统计,引入一个集中的稀疏性约束。为了优化,局部稀疏和非局部稀疏统一到一个变化的框架内。大量的图像恢复实验验证了我们的CSR模型在以前最先进的方法之上取得了令人信服的改进。 1、介绍 图像恢复(IR)目的是为了从,比如说通过一个低端摄像头或者在有限条件下得到图像的图像退化版本(例如噪声、模糊和/或者低采样率),来恢复一副高质量的图像。对于观察的图像y,IR问题可以表示成: y = Hx + v (1) 其中H是一个退化矩阵,x是原始图像的矢量,v是噪声矢量。由于IR的病态特性,尝试把观察模型和所需解决方案的先验知识合并到一个变分公式的正则化技术,已经被广泛地研究。对于正则方法,对自然图像适当的先验知识进行寻找和建模是最重要的关注点之一,因此学习自然图像先验知识的各种方法已经被提出来了【25,5,6,12】。 近年来,对于图像恢复基于建模的稀疏表示已经被证明是一种很有前途的模型【9,5,13,20,16,21,27,15,14】。在人类视觉系统【23,24】的研究中,已经发现细胞感受区域使用少量的从一个超完备的编码集中稀疏选出的结构化基元来编码自然图像。在数学上,一个x ∈ R N的信号可以表示为一个字典Φ中的几个原子的线性组合,例如,X ≈Φα,用|0 最小化:

数字图像处理报告

数字图像处理的起源与应用 1.概述 数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理技术目前广泛应用于各个领域,其发挥的作用有效提高了人们的生产生活质量。 2.起源与发展 (1)20世纪 20 年代,数字图像处理最早应用于报纸行业。由于报纸行业信息传输的需要,一根海底电缆从英国伦敦连输到美国纽约,实现了第一幅数组照片的传送。(在当时那个年代如果不采用数字图像处理,一张图像传达的时间需要7 天,而借助数字图像处理技术仅耗费 3 小时)。 (2)20世纪50年代,当时的图像处理是以人为对象,以改善人的视觉效果为目的。 (3)20世纪60年代的美国喷气推进实验室是图像处理技术首次获得实际成功的应用,推动了数字图像处理这门学科的诞生。 (4)20世纪70年代英国EMI公司工程师Housfield发明了CT并获得了诺贝尔奖,这对人类的发展作出了划时代的贡献。借助计算机、人工智能等方面的快速发展,数字图像处理技术实现了更高层次的发展。相关工作人员已经着手研究如何使用计算机进行图像解释。 (5)20世纪 80 年代。研究人员将数字图像处理应用于地理信息系统。从这个阶段开始数字图像处理技术的应用领域不断扩大,在工业检测、遥感等方面也得到了广泛应用,在遥感方面实现了对卫星传送回来的图像的处理。 (6)20世纪 90 年代。数字图像处理技术就得到了一个快速发展,其中特别是小波理论和变换方法的诞生(Mallat在1988年有效地将小波分析应用于图像分解和重构),更好地实现了数字图像的分解与重构。 (7)进入到 21 世纪,借助计算机技术的飞速发展与各类理论的不断完善,数字图像处理技术的应用范围被拓宽,甚至已经在某些领域取得突破。从目前数字图像处理技术的特点进行分析,可以发现图像信息量巨大,在图像处理综合性方面显示出十分明显的优势,其中就借助了图像信息理论与通信理论的紧密联系。再加上数字图像处理技术具有处理精度高、灵活性强、再现性好、适用面广、信息压缩的潜力大等特点,因此已经成功地应用在各个领域。 3.应用 (1)航天和航空技术方面:早在1964年美国就利用图像处理技术对月球照片进行处理,并且成功地绘制出月球表面地图,这个重大的突破使得图像处理技术在航天技术中发挥着越来越重要的作用。“卡西尼”号飞船进入土星轨道后传回地球的土星环照片,“火星快车”拍摄到的火星山体滑坡照片,还有我国嫦娥探测器拍摄的月球表面照片,以及近来很火的“大疆”无人机航拍等等。这些照片都体现了数字图像处理技术在航空航天技术领域不可或缺的重要作用。 (2)遥感领域方面的应用:数字图像处理在遥感的应用,主要是获取地形地质及地面设施资料,矿藏探查、森林资源状况、海洋和农业等资源的调查、自然灾害预测预报、环境污染检测、气象卫星云图处理以及地面军事目标的识别。例

2013数字图像处理课程设计报告

数字图像处理 课程设计报告 课设题目:彩色图像增强软件学院:信息科学与工程学院专业:电子与信息工程 班级: 1002501 姓名:曾小路 学号: 100250131 指导教师:赵占峰 哈尔滨工业大学(威海) 2013 年12月27日

目录 目录 .......................................................................................................................... I 一. 课程设计任务 (1) 二. 课程设计原理及设计方案 (2) 2.1 彩色图像基础 (2) 2.2 彩色模型 (2) 三. 课程设计的步骤和结果 (6) 3.1 采集图像 (6) 3.2 图像增强 (7) 3.3 界面设计 (9) 四. 课程设计总结 (12) 五. 设计体会 (13) 六. 参考文献 (14)

哈尔滨工业大学(威海)课程设计报告 一. 课程设计任务 1.1设计内容及要求: (1)、独立设计方案,根据所学知识,对由于曝光过度、光圈过小或图像亮度不均匀等情况下的彩色图像进行增强,提高图像的清晰度(通俗地讲,就是图像看起来干净、对比度高、颜色鲜艳)。 (2)、参考photoshop 软件,设计软件界面,对处理前后的图像以及直方图等进行对比显示; (3)、将实验结果与处理前的图像进行比较、分析。总结设计过程所遇到的问题。 1.2参考方案 1、实现图像处理的基本操作 学习使用matlab 图像处理工具箱,利用imread()语句读入图像,例如image=imread(flower.jpg),利用彩色图像模型转换公式,将RGB 类型图像转换为HSI 类型图像,显示各分量图像(如imshow(image)),以及计算和显示各分量图像直方图。 2、彩色图像增强实现 对HSI彩色模型图像的I分量进行对比度拉伸或直方图均衡化等处理,提高亮度图像的对比度。对S分量图像进行适当调整,使图像色彩鲜艳或柔和。 H 分量保持不变。将处理后的图像转换成RGB 类型图像,并进行显示。分析处理图像过程和结果存在的问题。 3、参照“photoshop”软件,设计图像处理软件界面 可设计菜单式界面,在功能较少的情况下,也可以设计按键式界面,视 功能多少而定;参考matlab 软件中GUI 设计,学习软件界面的设计 - 1 -

数字图像处理作业 1

数字图像处理作业 1 1.基本问题 a.什么是数字图像处理,英语全称是什么? 数字图像处理:对图像进行一些列的操作,以达到预期目的的技术,可分为模拟图像处理和数字图像处理两种方式。英文全称:Image Processing b.数字图像处理与什么领域的发展密切相关? 数字图像处理与数字计算机的发展,医学,遥感,通信,文档处理和工业自动化等许多领域的发展密切相关。 c.人类主要通过什么来感知获取信息的? 主要通过人的视觉、味觉、嗅觉、触觉、听觉以及激光、量子通信、现代计算机网络、卫星通信、遥感技术、数码摄影、摄像等来获取信息。 d.数字图像处理技术与哪些学科领域密切相关? 与数学、物理学、生理学、心理学、电子学、计算机科学等学科密切相关 e.数字图像处理在哪些领域得到广泛应用? 数字图像处理的应用越来越广泛,已渗透到工程、工业、医疗保健、航空航天、军事、科研、安全保卫等各个领域。 f.数字图像处理起源于什么年代? 20世纪20年代 g.现代大规模的图像处理需要具备哪些计算机能力? 需要具备图像处理、图像分析、图像理解计算机能力 h.根据人的视觉特点,图像可分为哪两种图像? 分为可见图像和不可见图像。 i.根据光的波段,图像可分为哪几种图像? 分为单波段、多波段和超波段图像。 j.图像数字与模拟图像的本质区别是什么? 区别: 模拟图像:空间坐标和明暗程度都是连续变化的、计算机无法直接处理。 数字图像:空间的坐标和灰度都不连续、用离散的数字表示,能被计算机处理。 2.通过互联网,查下数字图像处理有哪些应用?选一个应用范例即可。具体描绘如何通过数字图像处理技术来实现其应用。要有图像范例说明。 数字图像处理主要应用领域有:生物医学,遥感领域,工业方面,军事公安领域,通信领域,交通领域等。我就生物医学领域做一个简单介绍。 自伦琴1895年发现X射线以来,在医学领域可以用图像的形式揭示更多有用的医学信息医学的诊断方式也发生了巨大的变化。随着科学技术的不断发展,现代医学已越来越离不开医学图像的信息处理,医学图像在临床诊断、教学科研等方面有重要的作用。目前的医学图像主要包括CT (计算机断层扫描) 图像、MRI( 核磁共振)图像、B超扫描图像、数字X 光机图像、X 射线透视图像、各种电子内窥镜图像、显微镜下病理切片图像等。 医学图像处理跨计算机、数学、图形学、医学等多学科研究领域,医学图像处理技术包括图像变换、图像压缩、图像增强、图像平滑、边缘锐化、图像分割、图像识别、图像融合等等。在此联系数字图像处理的相关理论知识和步骤设计规划系统采集和处理的具体流程同时充分考虑到图像采集设备的拍摄效果以及最终处理结果的准确性。下面是关于人体微血管显微图像的采集实例。

东南大学数字图像处理实验报告

数字图像处理 实验报告 学号:04211734 姓名:付永钦 日期:2014/6/7 1.图像直方图统计 ①原理:灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。 通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 ②算法: clear all PS=imread('girl-grey1.jpg'); %读入JPG彩色图像文件figure(1);subplot(1,2,1);imshow(PS);title('原图像灰度图'); [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率end figure(1);subplot(1,2,2);bar(0:255,GP,'g') %绘制直方图 axis([0 255 min(GP) max(GP)]); title('原图像直方图') xlabel('灰度值') ylabel('出现概率') ③处理结果:

原图像灰度图 100 200 0.005 0.010.0150.020.025 0.030.035 0.04原图像直方图 灰度值 出现概率 ④结果分析:由图可以看出,原图像的灰度直方图比较集中。 2. 图像的线性变换 ①原理:直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主 要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 ②算法: clear all %一,图像的预处理,读入彩色图像将其灰度化 PS=imread('girl-grey1.jpg'); figure(1);subplot(2,2,1);imshow(PS);title('原图像灰度图'); %二,绘制直方图 [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255

昆明理工大学数据库实验报告

《数据库原理》上机实验报告 专业:自动化、测控 学号: 姓名: 班级: 指导老师:杨彪 昆明理工大学信息工程与自动化学院 2014年12月

一、实验目的与要求: ●熟练使用SQL定义子语言、操纵子语言命令语句 ●掌握关系模型上的完整性约束机制 ●掌握一定的数据库管理技术 ●能完成简单的数据库应用开发 二、实验内容及学时安排(总学时:8) (一)数据定义子语言实验(2学时) 实验1:利用SQL语句创建Employee数据库 程序:create database employee 结果: 实验2:利用SQL语句在Employee数据库中创建人员表person、月薪表salary 及部门表dept。 要求:按表1、表达、表3中的字段说明创建 表1 person表结构 字段名数据类型字段长度允许空否字段说明 P_no Char 6 Not Null 工号,主键 P_name Varchar 10 Not Null 姓名 Sex Char 2 Not Null 性别 Birthdate Datetime 8 Null 出生日期 Prof Varchar 10 Null 职称 Deptno Char 4 Not Null 部门代码,外键(参照dept表) 表2 salary表结构 字段名数据类型字段长度允许空否字段说明 P_no Char 6 Not Null 工号,主键,外键(参照person表)Base Dec 5 Null 基本工资 Bonus Dec 5 Null 奖金,要求>50 Fact Dec 5 Null 实发工资=基本工资+奖金Month Int 2 Not Null 月份 表3 dept表结构 字段名数据类型字段长度允许空否字段说明 Deptno Char 4 Not Null 部门代码,主键,

数字图像处理课程设计报告

课程设计报告书课程名称:数字图像处理 题目:数字图像处理的傅里叶变换 学生姓名: 专业:计算机科学与技术 班别:计科本101班 学号: 指导老师: 日期: 2013 年 06 月 20 日

数字图像处理的傅里叶变换 1.课程设计目的和意义 (1)了解图像变换的意义和手段 (2)熟悉傅里叶变换的基本性质 (3)热练掌握FFT的方法反应用 (4)通过本实验掌握利用MATLAB编程实现数字图像的傅里叶变换 通过本次课程设计,掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养综合设计能力。 2.课程设计内容 (1)熟悉并掌握傅立叶变换 (2)了解傅立叶变换在图像处理中的应用 (3)通过实验了解二维频谱的分布特点 (4)用MATLAB实现傅立叶变换仿真 3.课程设计背景与基本原理 傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。 3.1课程设计背景 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 3.2 傅里叶变换 (1)应用傅里叶变换进行数字图像处理 数字图像处理(digital image processing)是用计算机对图像信息进行处理的一门技术,使利用计算机对图像进行各种处理的技术和方法。 20世纪20年代,图像处理首次得到应用。20世纪60年代中期,随电子计算机的发展得到普遍应用。60年代末,图像处理技术不断完善,逐渐成为一个新兴的学科。利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。数字图像处理主要研究以下内容:傅立叶变换、小波变换等各种图像变换;对图像进行编码和压缩;采用各种方法对图像进行复原和增强;对图像进行分割、描述和识别等。随着技术的发展,数字图像处理主要应用于通讯技术、宇宙探索遥感技术和生物工程等领域。

数字图像处理大作业

大作业指导书 题目:数字图像处理 院(系):物联网工程学院 专业: 计算机 班级:计算机1401-1406 指导老师: 学号: 姓名: 设计时间: 2016-2017学年 1学期

摘要 (3) 一、简介 (3) 二、斑点数据模型 .参数估计与解释 (4) 三、水平集框架 (5) 1.能量泛函映射 (5) 2.水平集传播模型 (6) 3.随机评估方法 (7) 四、实验结果 (8) 五、总结 (11)

基于水平集方法和G0模型的SAR图像分割 Abstract(摘要) 这篇文章提出了一种分割SAR图像的方法,探索利用SAR数据中的统计特性将图像分区域。我们假设为SAR图像分割分配参数,并与水平集模型相结合。分布属于G分布中的一种,处于数据建模的目的,它们已经成功的被用于振幅SAR图像中不同区域的建模。这种统计数据模型是驱动能量泛函执行区域映射的基础,被引用到水平集传播数值方案中,将SAR 图像分为均匀、异构和极其异构区域。此外,我们引入了一个基于随机距离和模型的评估过程,用于量化我们方法的鲁棒性和准确性。实验结果表明,我们的算法对合成和真实SAR 数据都具有准确性。+ 简介 1、Induction(简介) 合成孔径雷达系统是一种成像装置,采用相干照明比如激光和超声波,并会受到斑点噪声的影响。在SAR图像处理过程中,返回的是斑点噪声和雷达切面建模在一起的结果。这个积性模型(文献[1])因包含大量的真实SAR数据,并且在获取过程中斑点噪声被建模为固有的一部分而被广泛应用。因此,SAR图像应用区域边界和目标检测变得更加困难,可能需要斑点去除。因此,斑点去除是必需的,有效的方法可以在文献[2][3][4][5][6][7][8][9][10]中找到。 对于SAR图像分割,水平集方法构成一类基于哈密顿-雅克比公式的重要算法。水平集方法允许有效的分割标准公式,从文献[12]中讨论的传播函数项可以得到。经典方法有着昂贵的计算成本,但现在的水平集的实现配置了有趣的低成本的替换。 水平集方法的一个重要方面,比如传播模型,可以用来设计SAR图像的分割算法。这个传播函数能够依据伽马和伽马平方根法则将斑点统计进行整合,函数已经被广泛地应用于SAR图像中的均质区域分割。Ayed等基于伽马分布任意建模,设计方案将SAR图像分成多个均质区域。尽管多区分割问题已经解决,该方案人需要一定数量的区域作为输入。Shuai 和Sun在文献[16]中提出对这个方法进行了改进,他们使用了一个有效的传播前收敛判断。Marques等引入了一个类似于含有斑点噪声图像中目标检测的框架,将基于本地区域的斑点噪声统计融合进去。这些作者采用伽马平方根对均质区域进行建模并用一个自适应窗口方案检测本地的同质性。 最近,新的SAR数据模型比如K,G,显示出了优势。经典法则受限于均质区域特性的描述,而最近的法则展现出了在数据建模中更有吸引力的特性。法则允许同构、异构和高度异构幅度SAR数据的建模。这个分布族提供了一组参数,可以描述SAR图像中的不同区域。分布的参数信息,可以被广泛的应用于设计SAR图像处理和分类技术。在文献[21]中,Mejail 等人介绍了SAR监督数据分类器,它基于其参数映射并实现了有趣的结果。Gambini等人在文献[22]中使用这个分布的一个参数来量化SAR数据的粗糙度,通过活动轮廓和B样条差值来检测边缘。然而,这种技术需要一个初始分割步骤,并受拓扑限制。一般来说,活动轮廓方法不能解决不连续区域分割的问题。 本文介绍了一种新的水平集算法来实现SAR图像中均质、异构和极其异构区域分割的目标。由于分布能够描述SAR图像的同质性和规模,我们的方法采用分布对斑点数据进行建模。这些分布参数基于每一个域点进行估计,通过这些信息,我们可以在水平集分割框架内得到一个能量泛函来驱动向前传播(front propagation)。该泛函以最大化不同区域平均能量间的差异作为结束。最终水平集阶段以能量带作为依据得到SAR图像的分割结果。

相关文档
最新文档