数字图像处理期末大作业docx.docx
《数字图像处理期末大作业docx.docx》由会员分享,可在线阅读,更多相关《数字图像处理期末大作业docx.docx(13页珍藏版)》请在冰豆网上搜索。
数字图像处理期末大作业docx
期末大作业
读图:
首先读取图片。
第一题:
调用imhist函数(IMHIST(I))。
其原理是统计每一个点
的像素值,再统计其个数。
直方图均衡化:
调用histeq函数(J二HISTEQ(I))。
其原理是根据像素值的权重(也即在0-255中的比例)重新调整像素值,再调用imhist函数统计灰度直方图。
匹配:
先对图1进行均衡化,在对其灰度图进行处理并提取其用的方
法(也就是使用[COUNTS*]二imhist(…)方法)。
在对图2进行利用图1
的方法均衡化(也就是使用J二HISTEQ(I’S)方法)。
在对两幅图片进行
减法运算即可得岀其不同处。
灰度亘方图对比良「""图像变换
0nothing
|_匕側(
直方图均衞化白平衡自动編放自动族转
角度倍数
0nothingrobertprewittsobellaplace
加噪声
空域泯波
频域滤波
不同处
笫二题:
对比度:
调用imadjust函数(J=imadjust(l,[LOW_INHIGH_IN],[LOW_OUT;HIGH_OUT])o)其中LOW_INHIGHJNLOW_OUTHIGHJDUT数据由edit框中输入输入,输入格式如下:
a=str2double(get(handles・editl,1String1));由丁•四个数输入都必须为0—1,而我们的习惯还是0—255,所以就使用
a=str2double(get(handles•editl,1String1))/255;
调整对比度时可先对图片绘制灰度直方图得出调整范围,再进行调整。
白平衡:
先读取彩色图片,然后进行取点,把红绿蓝的值平均,在对此值和红,绿,蓝三种颜色的关系进行拟合(使用polyfit函数),得出其曲线方程。
重新对原图进行计算(polyval函数),分别计算出红,绿,蓝的值,为了显示输出再把类型进行转换,因为此时数据的类型为
double型,而输出时uint8型。
第三题:
使用选择语句
旋转:
调用imrotate函数(B=IMROTATE(AZANGLE))
自动旋转:
和旋转一样的原理。
再加上一个for语句。
使得其能从0—720度自动旋转。
缩放:
使用imresize函数(B=IMRESIZEfA,SCALE))
自动缩放:
和缩放一样的原理。
再加上一个for语句,使得其能从0—1.95自动缩放。
同时把旋转和缩放嵌进slider里面,通过调整slider能改变其缩放倍数及旋转度数。
其缩放倍数,旋转度数都能从edit里面实时输出。
笫四题:
栅格变形:
首先读取图片,然后进行取点(也即需要变换的轮廓)。
再确定所取得点在图片中的坐标。
再进行取点(也即变换后的轮廓)。
再确定所取得点在图片中的坐标。
确定需要变换的点及变换后的点的转换类型,然后对图像按所确定的转换类型进行空间二维仿射变换,再输出。
第五题:
边缘检测:
Robert检测的是图片主景的边缘,而且效果不够好,但是对非主景边缘检测不到。
Prewitt则好一点,因为除了主景边缘,其他的非主景的边缘也能检测到。
而且检测的边缘效果比较好
SobeI比prewitt更好一点,但是sobeI检测的边缘效果更好一点。
Laplace检测的是所有景物的边缘,但是其边缘比较粗略,不够精细。
robert(BW=edg㊀(Al,1robert1);)
prewitt(BW=edge(Al,!
prewitt*);)
pr*灰度亘方图
对比度
OHM
。
nothing"转自初堵放自动旗转
图像变换
豆方囹幼衛化
白平衡
角度倍数
匹配
11
J
nothingrobert
。
prewittsobellaplace
加噪声
空域滤波
地图计算
面积
周长
加法
减法
锲域濾波
sobeI(BW=edge(Al,1sobel1);)
原图
sot>el
灰生宜方国
对比度
•nothing
图像变換
R方图均術化
白平衡
自动缩放目訪廣转
角度倍数
匹配
nothingrobertprewitt*sobel
laplace
拉普拉斯算子(BW=edge(Al,1logf);)
加噪声
殃域灌波
地国计第
面积
周长
加法
减法
Laplac*
OK初
nothingrobertprewittsobel
*laplace
加噪声
灰度宜方图
对比度
onothing
C权转僦
自动掃放自动JU转
图像变换
直方图均協化
白平衡
角度倍数
匹配
Ui
空域濾波
频域滤波
地国计算
面积
周长
加法
减法
第六题:
先加高斯噪声,使用imnoise函数。
空域滤波,使用Wiener函数,先对图片的储存形式进行判断,如果是三维的就分别进行滤波,不是的就直接滤波。
(因为Wiener只能对二维对象滤波)。
空域滤波,则使用butterworth低通滤波,先对图片进行傅里叶变换,再对频域进行循环滤波,最后进行反变换。
高斯噪声:
原囹
加噪声
地国计算
灰度宜方国
对比度
。
nothing
•-娱转端吹
自幼塘放自动族烤
囚像变换
:
&方务均衞化
白平衡
角度倍数
匹配
厂
»
nothingrobertprewittsobellaplace
面积
空域澹波
頻域渣波
加法
减法
周长
空域滤波:
原图
灰生宜方国
对比度
•nothing
自动缩放目訪廣转
图像变換
直方图均術化
白平衡
角度倍数
匹配
J
丁nothingrobertprewittsobellaplace
加噪声
殃域灌波
频域滤波
地图计篦
面积
周长
加法
减法
原囹
第七题:
灰度直方图
对比度
U
。
nothing•-娱转端吹
囚像变换
:
&方务均ii化
白平衡
自幼塘放自动族烤
角度倍数
匹配
•1
«*nothingrobertprewittsobellaplace
加噪声
空域澹波
地国计算
面积
周长
加法
减法
頻域渣波
灰度宜方宙
对比度
。
nothing©JKH(缩败
图像变换
R方图均術化
白平衡
自功绸敢自动症转
角度倍数
匹配
£,
0nothing
加咲声
地图计算
加法
robertprewitt
面积
sobellaplace
空域滤波
铸初91«5
减法
11
周长
频域滤波
面积9549719.1855万平方公里,周长20756.4078公里
先对图片进行灰度转换(用rgb2gray函数),因为本题要求是求面积与周长,为了方便就把灰度图转换成二值图(用im2bw函数)。
求面积:
先再对图片面积部分进行统计像素点(其为黑点,所以其像素值为0)个数,由于比例尺没有,所以在这就采用东西长5200公里,在地图上选点确定东西长所占的像素点个数(使用getrect函数,
其取值为[xminyminwidthheight],width就是需要的像素点个
数),因而比例尺就是(5200/width)o把点数乘比例尺的平方就是面积。
求周长:
因为求周长,所以先对图片进行边缘检测(使用sobel函数,因为其效果最好)。
然后同级灰度值为1的像素点的个数(因为此时边缘变成白色,而其他的像素点都变成黑色了)。
再把个数乘比例尺就是周长