数字图像处理期末考试题(共12页).docx
《数字图像处理期末考试题(共12页).docx》由会员分享,可在线阅读,更多相关《数字图像处理期末考试题(共12页).docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数字图像处理技术与应用练习题说明:不允许直接使用MATLAB(或者OPENCV等等软件)所带的图像图像函数,重点考察大家是否理解了各种处理算法,算法可用伪代码描述。算法应较详细。1、 设一幅大小为MN的灰度图像I中,灰度为g的像素数为h(g), 。 请写出对图像I进行直方图均衡化,得到图像J的计算方法。clc;clear;I= imread(a.jpg);I= rgb2gray(I) ; %将图像转换为灰度图像J= histeq( I) ; %对I 进行直方图均衡化subplot( 121) ,imshow(I) ,title(原始图像) ;subplot (122)
2、, imshow(J), title(直方图均衡化后的图像);figure( 2) ;subplot( 121) ,imhist(I, 64), title( 原始的直方图);subplot( 122) ,imhist(J,64) ,title( 均衡化后的直方图);2、 设一幅大小为MN的灰度图像I中,现要变成(放大或缩小)为 PQ的图像J,请写出J的生成算法(可以使用近邻插值)。I=imread(f.jpg);%读入图像%图像属性% Filename: f.jpg% FileModDate: 24-Aug-2008 16:50:30% FileSize: 20372% Format: jp
3、g% FormatVersion: % Width: 480% Height: 640% BitDepth: 8% ColorType: grayscale% FormatSignature: % NumberOfSamples: 1% CodingMethod: Huffman% CodingProcess: Sequential% Comment: rows,cols=size(I);K1 = str2double(inputdlg(请输入行缩放倍数, INPUT scale factor, 1, 0.6);%行默认变为原来的0.6倍K2 = str2double(inputdlg(请输入
4、列缩放倍数, INPUT scale factor, 1, 0.4);%列默认变为原来的0.4倍width = K1 * rows; height = K2 * cols;im2 = uint8(zeros(width,height); %定义输出图像矩阵widthScale = rows/width;heightScale = cols/height;for x = 6:width - 6 %为防止矩阵溢出而选择的参数6 for y = 6:height - 6 oldX = x * widthScale; %oldX,oldY为原坐标,x,y为新坐标 oldY = y * heightSc
5、ale; if (oldX/double(uint16(oldX) = 1.0) & (oldY/double(uint16(oldY) = 1.0) im2(x,y) = I(int16(oldX),int16(oldY); else a = double(round(oldX); b = double(round(oldY); %若不是整数四舍五入后把临近值赋过去 im2(x,y) = I(a,b); end endendimshow(I); %输出原图像figure;imshow(im2); %输出缩放后图像3、 设一幅大小为MN的灰度图像I中,现要将其逆时针旋转 A度,得到图像J,请写
6、出J的生成算法(可以使用近邻插值)。clear;%此题是用最近邻域法实现图像旋转im1=imread(b.jpg);m,n,p=size(im1);% 将图像旋转30度a=0.5; %a=sin30=0.5b=0.866; %b=cos30=0.866row=n*a+m*b;col=n*b+m*a;for i=1:row %先把图象填充成全黑 for j=1:col im2(i,j,:)=uint8(0); endend for i=1:m %把原图象像素点旋转后变为新图象点 for j=1:n xx=round(abs(i-m/2)*b-(j-n/2)*a+row/2); yy=round(
7、abs(i-m/2)*a+(j-n/2)*b+col/2); for k=1:3 im2(xx,yy,k)=im1(i,j,k); end endendtemp1=uint8(0);temp2=uint8(0);temp3=uint8(0);for i=1:row %把画面上的空点按照最近邻插值法填充 temp1=uint8(0); temp2=uint8(0); temp3=uint8(0); for j=1:col %找到最右的图象边界点 if (im2(i,j,:)=uint8(0) else kk=j; end end for j=1:kk if (im2(i,j,:)=uint8(0
8、) im2(i,j,1)=temp1; im2(i,j,2)=temp2; im2(i,j,3)=temp3; else temp1=im2(i,j,1); temp2=im2(i,j,2); temp3=im2(i,j,3); end endend imshow(im1);figure;imwrite(im1,5.jpg); %保存原图像imshow(im2);imwrite(im2,6.jpg);%保存旋转后图像4、 请写出生成 (2N+1)(2N+1)大小的高斯模板H(方差为sigma)的方法。5、 请写出生成 (2N+1)(2N+1)大小的高斯一阶导数模板HX(水平方向的梯度)、HY(
9、垂直方向的梯度)(高斯的方差为sigma)的方法。6、请写出使用大小为(2N+1)(2N+1)模板H对图像I进行滤波,生成图像J的方法。7、请写出使用大小为33的模板对图像I进行中值滤波,生成图像J的方法。clear; A=imread(num22,bmp); subplot(1,2,1); B=rgb2gray(A); subimage(B); title(处理前的图); C=B; xsize=size(B); for k=2:(xsize(1)-1) for j=2:(xsize(2)-1) t=B(k-1:k+1,j-1:j+1); C(k,j)=median(t(1:9); end e
10、nd subplot(1,2,2); subimage(C); title(处理后的图);8、 请写出求 Otsu阈值(即最大类间距准则)的计算方法。 试证明采用最大类间距准则计算出的阈值与采用最小类内距准则计算出的阈值相同。9、 设有一幅二值图像(元素取值为0或1),请生成该图像的标记图像。(即第一个连通区域中的每一个白色像素的值都置为1,第二个连通区域中的每一个白色像素的值都置为2,依此类推。区域编号可不考虑顺序)clear all;close all;clc;img=imread(liantong.bmp);imgn=img128;s=uint8(1-imgn); % s=0 0 0 0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 期末 考试题 12
限制150内