没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐

1
目录
1、图像放大缩小 ............................................................................................................................. 2
2、 图像旋转 .................................................................................................................................... 4
3、 直方图均衡化 ........................................................................................................................... 7
4、直方图规定化 ........................................................................................................................... 14
5、图像灰度的对数 / 指数变换 .............................................................................................. 20
6、图像灰度的分段线性拉伸 .................................................................................................... 21
7、 高斯模板生成 ......................................................................................................................... 23
8、高斯一阶导模板生成 .............................................................................................................. 25
9、线性滤波..................................................................................................................................... 25
10、中值滤波 .................................................................................................................................. 28
11、中值滤波的特性 .................................................................................................................... 30
12、统计排序滤波 ......................................................................................................................... 30
13. 各向异性滤波 .......................................................................................................................... 31
14. 双边滤波 ................................................................................................................................... 32
15. 非局部均值滤波 ...................................................................................................................... 33
16、傅里叶变换.............................................................................................................................. 34
17、基于频域滤波的基本步骤 .................................................................................................. 35
18、Otsu 阈值分割 ........................................................................................................................ 41
19. K-means 聚类分割 ............................................................................................................. 42
20. 请写出 Canny 算子检测边缘的详细步骤。 .................................................................. 43
21、区域标记 .................................................................................................................................. 51
22、边界跟踪 .................................................................................................................................. 54
23、图像腐蚀 .................................................................................................................................. 57
24、孔洞填充 .................................................................................................................................. 58
25、粘连区域断开 ......................................................................................................................... 58
26、计算凸壳 .................................................................................................................................. 59
27. 判断一个点是否在一个区域内部 ...................................................................................... 60
28. 给定一个区域的边界点序列,生成该边界包围的区域(或称区域填充) ........ 61

2
数字图像处理技术与应用练习题
说明:不允许直接使用 MATLAB(或者 OPENCV、PYTHON 等)所带的图像
处理函数,重点考察大家是否理解了各种处理算法,算法可用伪代码描
述。算法应较详细。
要上交的作业:1、2、4、17、20、21、22
一、图像的几何变换
1、图像放大缩小
设一幅大小为 M×N 的灰度图像 I 中,现要变成(放大或缩小)为 P×Q 的
图像 J,请写出 J 的生成算法。【要编写出程序,以及算法描述】
【参考函数:imresize】
算法描述:
Step1:读入灰度图像,获取其宽高。
Step2:利用 inputdlg 函数读入要缩放的宽高倍数,同时根据倍数算出缩放后
新图的宽高,从而新建一个 uint8 类型的图片,像素值初始为 0。
Step3:遍历新图的矩阵,利用缩放倍数反推,当前像素位置对应原图的像素
的位置。这里采用的是近邻插值法,即使用 round 函数即可实现。也就是说把一
个非整数坐标四舍五入,取最近的整数点坐标处的颜色。
同时,我的程序中设有 deal 处理函数,其目的是为了防止坐标取值时矩阵溢
出。例如,坐标 x 缩放后为 0.1,则其四舍五入后为 0,而矩阵最小位置是 1,会
报错,故当遇到该情况时,将坐标赋值为 1。
Step4:使用 figure、imshow、title 等函数,输出图片。
clear;close all;clc;
% 读入图像
im=imread('tire.tif');

3
[h1,w1]=size(im);
% 输入图象宽高的缩放倍数,默认是缩小一半
kh = str2double(inputdlg('请输入高缩放倍数', 'INPUT', 1, {'0.5'}));
kw = str2double(inputdlg('请输入宽缩放倍数', 'INPUT', 1, {'0.5'}));
% w2 和 h2 分别表示缩放后的宽高
h2 = round(kh * h1);
w2 = round(kw * w1);
fprintf("图片缩放后的宽高为:\nwidth:%d\nheight:%d\n",w2,h2);
im2 = uint8(zeros(h2,w2)); %定义输出图像矩阵
% 通过原图像给新图像赋值
for y= 1:h2
for x = 1:w2
oldY = y * (1/kh);
oldX = x * (1/kw); % oldX,oldY 为原坐标,x,y 为新坐标
b = deal(oldY, h1); % 调用坐标处理函数,同时防止矩阵溢出
a = deal(oldX, w1);
im2(y,x) = im(b,a);
end
end
% 显示原图
figure(1);
imshow(im);
title("原图");
% 显示缩放后图片
figure(2);
imshow(im2);
str=[num2str(kh),'倍高,',num2str(kw),'倍宽的图片'];
title(str);

4
%防止矩阵是否溢出
function [k] = deal(k,maxk)
k=round(k);
if(k <= 0)
k=1;
end
if(k > maxk)
k=maxk;
end
end
2、 图像旋转
设一幅大小为 M×N 的灰度图像 I 中,现要将其逆时针旋转 A 度,得到图
像 J,请写出 J 的生成算法。【要编写出程序,以及算法描述】【测试时,应
含多种角度,锐角、钝角;应有灰度图像及彩色图像的测试】
【参考函数:imrotate】
算法描述:
Step1:读入灰度图像,获取其宽高。
Step2:利用 inputdlg 函数读入旋转角度 angle,由于三角函数需要输入弧
度制,故将度数转化为弧度制。
Step3:根据线性代数知识,计算出逆时针旋转矩阵 R。由于图片旋转的
本质是向量的旋转,故先求出原图的中心 c1。
Step4:由于图片旋转后,原图像大小无法将旋转后的图片显示完整,故
需要计算旋转后图片大小。如下图,利用几何知识,求解新图的高宽。

5
但需要注意的是,要对高宽进行取整;同时,当旋转角度对 360 取模大
于 90 度时,sin 或 cos 就会出现负数的情况,导致高宽缩小。故这里直接对
sin 和 cos 都取绝对值,保证高宽的大小。同时求出新图的中心点 c2。
Step5:新建一个uint8类型的图片,像素值初始为0。根据向量变化公式有,
newp - c2 = R*(oldp – c1)。这里像素赋值的顺序反过来,从目标图片反向旋
转到原图进行像素查找,故有newp = (R*(oldp-c2)+c1)。注意此时求出的坐标
是double类型的。
Step6:在二维图像上线性插值,计算过程,如下图手稿所示:
Step7:使用 figure、imshow、title 等函数,输出图片。
clear;close all;clc;
剩余63页未读,继续阅读












zlzhucsdn
- 粉丝: 436
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制

评论0