数字图像处理-期中考试
- 格式:docx
- 大小:132.85 KB
- 文档页数:5
数字图像处理-期中考试《数字图像处理》期中考试试题1.⼀幅分辨率为1024*768的真彩⾊图像(每个像素⽤RGB三个字节表⽰),其所占的存储空间为多少MB?若考虑4字节对齐,分辨率为1022*768的真彩⾊图像,所占的存储空间为多少MB?1024*768*3 = 2304 KB若按4字节对齐,则每⾏的字节数为:(int)(1022 * 3 + 3)/ 4 = 767所占的空间为:767*768 =2.简述位图⽂件的存储格式。
位图⽂件格式由四部分组成,分别是位图⽂件头、位图信息头、调⾊板以及位图像素数据,其中调⾊板信息为可选信息,只有当每个像素的⽐特数⼩于或等于8(BITMAPINFOHEADER.biBitCount<=8)时才存在,即为⼀个颜⾊查找表。
3.简述直⽅图均衡化的基本过程。
若⼀幅图像具有如表1所⽰的概率分布,给出直⽅图均衡化后的灰度级对应关系以及均衡化后的直⽅图分布。
表14. 阐述基于双线性插值的图像缩放的主要原理。
对于如下的灰度图像,给出放⼤2倍后的灰度图像。
(1)反向映射设缩放的⽐例为k ,对于缩放后图像中的每个像素(',')x y ,求其在原始图像中的坐标(,)x y :'/'/x x ky y k =??=?(2)双线性插值反向映射得到原始图像中的(,)x y 的坐标是浮点数,⽽在离散数字图像中,每个像素的坐标都是整数,因此可以通过双线性插值的⽅法得到最后的颜⾊值。
⾸先得到原始图像中与(,)x y 最近的四个像素点的坐标00(int)(int)x x y y =??=?,10101x x y y =+??=?,202011x x y y =+??=+?,30301x x y y =??=+? ⾸先在x ⽅向进⾏差值得到:110010()()P P x x P P =+--223023()()P P x x P P =+--然后在y ⽅向进⾏插值得到最终的颜⾊值:112211(0)()P P y y P P =+--放⼤后的图像:图像边界处的图像随处理⽅法的不同,可能会有不同。
《数字图像处理》期中测试题(1-6章)一、填空题(每小题1分,共15分)1. 数字图像是用一个数字阵列来表示的图像。
数字阵列中的每个数字,表示数字图像的一个最小单位,称为__________。
2. 数字图像处理可以分为三个层面:一是从图像到图像,称为___________;二是从图像到符号,称为________________;三是从图像到语义,称为________________。
3. 图像因其表现方式的不同,可以分为________________和离散图像两大类。
4. 图像的量化可以分为均匀量化和________________两大类。
5. 对应于不同的场景内容,一般数字图像可以分为二值图像、______________和彩色图像三类。
6. 图像的几何坐标变换包括图像的平移、____________及旋转。
7. 人在区分颜色时常用三种基本特征量,它们是:亮度、____________和____________。
8. 国际照明委员会于1931年规定了三种基本色的波长,并将其称为三基色,它们分别是红色、蓝色和________________。
红色和蓝色的二次色称为___________。
9. 所谓图像变换,是指将图像信号从______________变换到另外的域上(如频域)进行分析的手段。
10. 理想低通滤波器对图像的处理会有__________效应,这种效应通过_____________滤波器可以减轻或消除。
二.选择题(每小题2分,共20分)1. 图象与灰度直方图间的对应关系是:()A、一一对应B、多对一C、一对多D、都不对2. 一幅256*256的图像,若灰度级数为16,则该图像的大小是:()A、128KBB、32KBC、1MBD、2MB3. 中值滤波器可以:()A、消除孤立噪声B、检测出边缘C、进行模糊图像恢复D、模糊图像细节4. 下图1是一幅标准测试图像Lena图,对图像进行处理后,形成的结果图像如图2所示。
数字图像期中考试试题
《数字图像处理》中期测试
注意:请自备一张答题纸,将以下试题的答案写在纸上。
注明学号,姓名!上交时间:本周五上课时统一上交(5月16号)1.试阐述图像工程的三个层次及相互之间的关系。
2.一个完整的图像处理系统包括哪些的基本功能?
3.灰度映射的基本原理是什么?典型的灰度映射有哪些?
4.直方图均衡化处理的主要步骤是什么?
5.直方图规定化处理与直方图均衡化处理有什么区别?
6.试论述模板卷积和模板排序的基本步骤。
7.试论述使用理想低通滤波器对图像进行滤波产生振铃现象的原因。
期中考试试卷
2014~2015学年第一学期
课程名称:数字图像处理教师姓名:袁杰试卷类型:闭卷
学号:
一、下图中X B对
X。
X
B
原点
膨胀运算结果腐蚀运算结果
开运算结果闭运算结果
二、已知某512x512大小的灰度图像经过两种不同降质过程后的图像幅度谱分别如下所示。
说明分别发生了什么样的降质过程,并估算两种降质过程的降质参数。
原始图像幅度谱降质图像1幅度谱降质图像2幅度谱
三、详细叙述对一组数据进行LZW编码的原理和步骤,只能用文字说明,不能画图或画表说明。
四、详细叙述傅立叶反投影法进行图像重建的原理和步骤,只能用文字说明,不能画图或画表说明。
五、详细叙述对二值图像中的线段进行Hough算法检测的原理和步骤,只能用文字说明,不能画图或画表说明。
六、现在有一张血液显微彩图,图中有众多血细胞,有的血细胞大,有的血细胞小。
现在要清点指定大小的血细胞的数量,请根据已学知识给出详细解决方案。
1.什么是数字图像?(14分)答:一副图像可定义为一个二维函数f(x,y),当x,y和幅值f为有限的离散数值时,称给图像为数字图像。
2.请解释以下概念:(14分)像素的四邻域、八邻域像素的4-连通性、8-连通性像素的D4距离、D8距离答:对于象素P(x,y) ,q(s,t)象素的四邻域是:P(x,y-1),P(x,y+1),P(x-1,y),P(x+1,y)象素的八邻域是:P(x,y-1),P(x,y+1),P(x-1,y),P(x+1,y)P(x-1,y-1),P(x+1,y+1),P(x-1,y+1),P(x+1,y-1) 象素的4-连通性:处于P的四领域上的点,被称为与点P是4-连通的。
象素的8-连通性:处于P的八领域上的点,被称为与点P是8-连通的。
象素的D4距离:D4 = |x – s| + |y – t|象素的D8距离:D8= max(|x – s|, |y – t|)3.请叙述直方图的定义,以及进行直方图均衡的详细过程。
(14分)答:直方图的定义为:P(r k) = n k / n,其中n是图象中的象素的总数;第k个灰度级的象素个数n k;r k是第k个灰度级的值。
直方图均衡过程如下:●计算原始直方图●计算各灰度级累积直方图●将累积直方图值取整扩展到[0,L-1]●确定灰度映射对应关系●根据映射关系计算均衡化直方图4.简述局部平均法的优缺点。
(14分)答:(1)局部平均法是将窗口内所含的象元灰度取平均作为中心像元的输出值。
(2)优点是计算简单,速度快。
但在降低噪声的同时,使图像产生模糊,特别是在边缘和细节处。
5.给出梯度算子和Laplacian算子,并论述两算子检测边缘的异同点?(14分)(梯度算子)梯度算子是利用阶跃边缘灰度变化的一阶导数特性,认为极大值点对应于边缘点;而Laplacian算子检测边缘是利用阶跃边缘灰度变化的二阶导数特性,认为边缘点是零交叉点。
相同点都能用于检测边缘,且都对噪声敏感。
数字图像处理试题及答案一、单项选择题(每题2分,共10分)1. 数字图像处理中,图像的灰度变换不包括以下哪一项?A. 对数变换B. 幂律变换C. 直方图均衡化D. 图像锐化答案:D2. 在数字图像处理中,边缘检测的目的是:A. 提取图像中的纹理信息B. 提取图像中的边缘信息C. 增强图像的对比度D. 改变图像的颜色分布答案:B3. 下列哪种滤波器用于平滑图像?A. 高通滤波器B. 低通滤波器C. 带通滤波器D. 带阻滤波器答案:B4. 在数字图像处理中,图像的几何变换不包括以下哪一项?B. 缩放C. 剪切D. 颜色变换答案:D5. 在数字图像处理中,以下哪种方法用于图像分割?A. 阈值处理B. 边缘检测C. 直方图分析D. 颜色量化答案:A二、多项选择题(每题3分,共15分)6. 数字图像处理中的图像增强技术包括:A. 直方图均衡化B. 锐化C. 噪声滤除D. 图像压缩答案:ABC7. 在数字图像处理中,以下哪些是空间域的图像增强方法?A. 直方图均衡化B. 中值滤波C. 拉普拉斯算子D. 傅里叶变换8. 数字图像处理中,以下哪些是频域的图像增强方法?A. 低通滤波B. 高通滤波C. 带通滤波D. 傅里叶变换答案:ABC9. 在数字图像处理中,以下哪些是图像的几何变换?A. 旋转B. 缩放C. 平移D. 颜色变换答案:ABC10. 数字图像处理中,以下哪些是图像分割的方法?A. 阈值处理B. 边缘检测C. 区域生长D. 颜色量化答案:ABC三、简答题(每题5分,共20分)11. 简述数字图像处理中边缘检测的基本原理。
答案:边缘检测的基本原理是识别图像中亮度变化剧烈的区域,这些区域通常对应于物体的边界。
通过应用边缘检测算子,如Sobel算子、Prewitt算子或Canny算子,可以突出图像中的边缘,从而为后续的图像分析和处理提供重要信息。
12. 描述数字图像处理中直方图均衡化的目的和效果。
答案:直方图均衡化的目的是改善图像的对比度,使图像的直方图分布更加均匀。
考试试卷(答案)试卷编号:( )卷课程编号:课程名称:数字图像处理(双语)考试形式:适用班级:姓名:学号:班级:学院:信息工程学院专业:电子系各专业考试日期:一二三四五六七八九十总分累分人签名题分20 20 20 20 20 0 0 0 0 0 100得分考生注意事项:1、本试卷共5页,请查看试卷中是否有缺页或破损。
如有立即举手报告以便更换。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
一、基础知识填空题(1,2为单项选择,每空3分,3,4为多项选择,每空2分,共20分),1 1、When you enter a dark room on a bright day, it takes some time to see wellenough, this is the visual process or visual phenomenon ofA. (Brightness adaptation.)B. (Brightness discrimination.)C. (Optical illusion.)D. (Simultaneous contrast.)2、The visible spectrum consists of electromagnetic spectrum nearly in therange of wavelength:A. (10 – 400 nm)B. (0.01 – 10 nm)C. (400 – 700 nm)D. (700 – 1500 nm)3、For V = {1}, the subsets S1 and S2areA. (m-connected)B. (8-connected )C. (4-connected)D. (None of these 3)4、Two pixels p and q are at the locations shown in the figure, their Euclidean,city-block and chessboard distances are respectively:A. D e= ( )B. D4 = ( 6 )C. D8 = ( 4 ) 0 0 0 1 21 2 7 6 5(p)得分评阅人二、空域图像增强题1(Image enhancement in the spatial domain) (20分) Exponential of the form s = T (r ) = 2552r e α-, 0 ≤ r ≤ 255, with α being a positive constant, are useful for constructing smooth gray-level transformation functions. (1) Start with this basic function and construct transformation functions having the shapes shown in the above figures. (15分) (2) What kind of transformation does the function of (a) approximatelycomplete for an input of a gray intensity image? (5分) (1) (a)so.(b)so得分 评阅人255 255255 (b)(a)(c)三、空域图像增强题2(Image enhancement in the spatial domain) (20分)The White bars in the test pattern shown are 7 pixels wide and 210 pixels high. The separator between bars is 17 pixels. What would this image look like after application of1. A 3×3 median filter?2. A 7×7 median filter?3. A 9×9 median filter?4. A 15×15 median filter?( Note: in your answer, quantitative analysis is expected. )Answer:The separator between bars is 17 pixels wide > 15, so none of the 4 filters can remove any black pixels. We can treat all black pixels as background.1. Applying a 3×3 median filter removes the 1 pixel at the top left, top right, bottom left and bottom right locations of each bar, as shown in (a), which is an amplified corner of the filteredimage.2. Applying a 7×7 median filter remove 6 pixels located at the top left, the top right, the bottom left, the bottom right of each bar, as shown in (b),which is an amplified corner of the median filtered image.0111110 0001000 3×3 1111111 7×7 01111110 1111111 011111103. Applying a 9×9 median filter remove 10 pixels located at the top left, the top right, the bottom left, the bottom right of each bar, as shown in (c). which is an amplified corner of the median filtered image 0000000 9×9 001110001111104. This time all bars are disappeared.得分 评阅人(a)(b)(a)。
期中考试非线性平滑——中值滤波一. 实验目的1. 了解统计排序滤波器在数字图象处理中的作用;2. 理解中值滤波的原理、特点、适用对象;3. 掌握中值滤波的各种方法。
二. 实验原理中值滤波是一种非线性信号处理方法,与其对应的中值滤波器是一种统计排序滤波器,用象素邻域内各灰度级排序的中值来代替该象素的灰度级(用一个奇数点的移动窗口, 将窗口中心点的值用窗口内的中值代替),一定条件下,可以克服线性滤波器(如邻域平滑滤波等)所带来的图象细节模糊,而且对滤除脉冲干扰及图象扫描噪声最为有效(中值滤波的输出与输入噪声的密度分布有关,对随机噪声的抑制能力,中值滤波比平均值滤波要差一些;但对脉冲干扰,特别是脉冲宽度小于窗口一半、相距较远的窄脉冲干扰,中值滤波的效果较好)。
设有一个一维序列f 1, f 2, …, f n ,取窗口长度(点数)为m (m 为奇数),对其进行中值滤波,就是从输入序列中相继抽出m 个数f i-v , …, f i-1, f i , f i +1, …, f i+v (其中f i 为窗口中心点值,v =(m -1)/2), 再将这m 个点按其数值大小排序,取其序号为中心点的那个数作为滤波输出。
用数学公式表示为:21-=∈=+-m v ,N i }f ,f ,,f {Med y v i i v i i (4—1) 这样处理的特点是:周期小于m/2(窗口一半)的脉冲会被抑制,而周期大于m/2(窗口一半)的脉冲得到保留,在窗口内单调增加或单调减少的序列, 中值滤波输出信号仍保持输入信号不变(利用这个特点,可以使中值滤波既能去除图象中的噪声,又能保持图象中一些物体的边缘)。
同理,二维中值滤波可由下式表示:}{ij Aij f Med y = (4—2) 式中:A 为窗口; {f ij }为二维数据序列。
这样处理的特点是:当在窗口内,被噪声污染的象素不超过滤波器区域的一半时,噪声会被抑制;当在窗口内,被噪声污染的象素超过滤波器区域的一半时,噪声会得到保留。
void CTeachV iew::OnStar() //画十字星{// TODO: Add your command handler code hereCTeachDoc* pDoc = GetDocument();int width,i,j;if(pDoc->BitCount == 8){if (pDoc->BmpWidth % 4 != 0)width = ((pDoc->BmpWidth / 4) + 1) * 4;elsewidth = pDoc->BmpWidth;for(j=0;j<pDoc->BmpHeight;j++)for(i=0;i<pDoc->BmpWidth;i++){if(i>((pDoc->BmpWidth/2)-5)&&i<((pDoc->BmpWidth/2)+5)||j>((pDoc->BmpHeight/2)-5)&&j<((pDoc->BmpHeight/2)+5)){pDoc->pImage[j*width+i]=0;}}}else{if (pDoc->BmpWidth % 4 != 0)width = ((pDoc->BmpWidth * 3 / 4) + 1) * 4;elsewidth = pDoc->BmpWidth * 3;for(j=0;j<pDoc->BmpHeight;j++)for(i=0;i<pDoc->BmpWidth;i++){if(i>((pDoc->BmpWidth/2)-5)&&i<((pDoc->BmpWidth/2)+5)||j>((pDoc->BmpHeight/2)-5)&&j<((pDoc->BmpHeight/2)+5)){pDoc->pImage[j*width+i*3]=0;//蓝分量pDoc->pImage[j*width+i*3+1]=0;//绿分量pDoc->pImage[j*width+i*3+2]=255;//红分量}}}OnInitialUpdate();}void CTeachV iew::OnSave() //8bit另存为{// TODO: Add your command handler code hereCTeachDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);//保存对话框CString sF ileName;CFile file;CFileDia log dlg(FALSE, "bmp", sFileName,OFN_OVERWRITEPROMPT|OFN_HIDEREADONL Y,"图片文件(*.bmp)|*.bmp||", this);dlg.m_ofn.lpstrTitle = _T("保存图片");if (dlg.DoModal() == IDOK){CString fileName = dlg.GetPathName();file.Open(fileName, CFile::modeReadWrite|CFile::modeCreate);}file.Write(&pDoc->BitMapFileHeader,sizeof(BITMAPFILEHEADER));//保存文件头if(pDoc->BitCount==8)file.Write(pDoc->pBitMapInfo,sizeof(BITMAPINFOHEADER)+pDoc->ColorUsed *sizeof(RGBQUAD));file.Write(pDoc->pImage,pDoc->lImageSize);file.Close();// Invalidate(TRUE);}{CTeach_testDoc * pDoc = GetDocument();CClientDC dc(this);int i,j;int t=30,z=290;long pHist[256];CRect rect;GetClientRect( &rect );dc.FillSolidRect( rect, RGB(255,255,255) );if(pDoc->BitCount==8){for(i=0;i<256;i++){pHist[i]=0;}for(i=0;i<pDoc->BmpHeight;i++){for(j=0;j<pDoc->BmpWidth;j++){pHist[pDoc->pImage[i*pDoc->nWidth+j]]++;}}}dc.MoveTo(t,290);dc.LineTo(t,30);dc.MoveTo(t,290);dc.LineTo(t+258,290);for(i=0;i<256;i++){t=t+1;dc.MoveTo(t,z);dc.LineTo(t,z-pHist[i]/20);}}void CTeachV iew::On8bitpartsave() //8bit图片部分另存为{// TODO: Add your command handler code hereCTeachDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);CString sF ileName;int i;CFile file;CFileDia log dlg(FALSE, "bmp", sFileName,OFN_OVERWRITEPROMPT|OFN_HIDEREADONL Y,"图片文件(*.bmp)|*.bmp||", this);dlg.m_ofn.lpstrTitle = _T("保存图片");if (dlg.DoModal() == IDOK){CString fileName = dlg.GetPathName();file.Open(fileName, CFile::modeReadWrite|CFile::modeCreate);}//控制图片大小pDoc->pBitMapInfo->bmiHeader.biWidth = 200;pDoc->pBitMapInfo->bmiHeader.biHeight = 200;file.Write(&pDoc->BitMapFileHeader,sizeof(BITMAPFILEHEADER));file.Write(pDoc->pBitMapInfo,sizeof(BITMAPINFOHEADER)+pDoc->ColorUsed *sizeof(RGBQUAD));//读取图像灰度和大小for(i=200;i<400;i++)file.Write(&pDoc->pImage[i*pDoc->nWidth+200],200);file.Close();}{CTeach_testDoc* pDoc = GetDocument();CClientDC dc(this);int i,j,nWidth;int t=320;long nHist[768];CRect rect;GetClientRect( &rect );dc.FillSolidRect( rect, RGB(255,255,255) );for ( i=0;i<256*3;i++){nHist[i]=0;}for (i=0;i<pDoc->BmpHeight;i++)for(j=0;j<pDoc->BmpWidth;j++){nHist[pDoc->pImage[i*pDoc->nWidth+j*3]]++;nHist[256+pDoc->pImage[i* pDoc->nWidth +j*3+1]]++;nHist[512+pDoc->pImage[i* pDoc->nWidth +j*3+2]]++;}for(i=0;i<=255;i++){CPen pen(PS_SOLID,1,RGB(0,0,255));CPen*oldpen =dc.SelectObject(&pen);dc.MoveTo(40+i,320);dc.LineTo(40+i,320-nHist[i]/20);dc.SelectObject(oldpen);}for(i=0+256;i<=255+256;i++){CPen pen(PS_SOLID,1,RGB(0,255,0));CPen*oldpen =dc.SelectObject(&pen);dc.MoveTo(40+i,320);dc.LineTo(40+i,320-nHist[i]/20);dc.SelectObject(oldpen);}for(i=0+256*2;i<=255+256*2;i++){CPen pen(PS_SOLID,1,RGB(255,0,0));CPen*oldpen =dc.SelectObject(&pen);dc.MoveTo(40+i,320);dc.LineTo(40+i,320-nHist[i]/20);dc.SelectObject(oldpen);}}void CTeachV iew::OnSave()//24bit另存为{// TODO: Add your command handler code hereCTeachDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);//保存对话框CString sF ileName;CFile file;CFileDia log dlg(FALSE, "bmp", sFileName,OFN_OVERWRITEPROMPT|OFN_HIDEREADONL Y,"图片文件(*.bmp)|*.bmp||", this);dlg.m_ofn.lpstrTitle = _T("保存图片");if (dlg.DoModal() == IDOK){CString fileName = dlg.GetPathName();file.Open(fileName, CFile::modeReadWrite|CFile::modeCreate);}file.Write(&pDoc->BitMapFileHeader,sizeof(BITMAPFILEHEADER));//保存文件头if(pDoc->BitCount==24)file.Write(pDoc->pBitMapInfo,sizeof(BITMAPINFOHEADER));file.Write(pDoc->pImage,pDoc->lImageSize);file.Close();// Invalidate(TRUE);}void CTeachV iew::On24bitpartsave() //24bit图片部分另存为{// TODO: Add your command handler code hereCTeachDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);CString sF ileName;int i;CFile file;CFileDia log dlg(FALSE, "bmp", sFileName,OFN_OVERWRITEPROMPT|OFN_HIDEREADONL Y,"图片文件(*.bmp)|*.bmp||", this);dlg.m_ofn.lpstrTitle = _T("保存图片");//设置保存路径if (dlg.DoModal() == IDOK){CString fileName = dlg.GetPathName();file.Open(fileName, CFile::modeReadWrite|CFile::modeCreate);}//控制图片大小pDoc->pBitMapInfo->bmiHeader.biWidth = 100;pDoc->pBitMapInfo->bmiHeader.biHeight = 100;file.Write(&pDoc->BitMapFileHeader,sizeof(BITMAPFILEHEADER));file.Write(pDoc->pBitMapInfo,sizeof(BITMAPINFOHEADER));//读取图像灰度和大小for(i=100;i<200;i++)file.Write(&pDoc->pImage[3*i*pDoc->nWidth+100*3],100*3);file.Close();}void CEmptyV iew::On8xinxi() //8bit直方图信息保存{// TODO: Add your command handler code hereCEmptyDoc *pDoc=GetDocument();ASSERT_VALID(pDoc);CString sF ileName;CFile file;CFileDia log dlg(FALSE, "txt", sFileName,OFN_OVERWRITEPROMPT|OFN_HIDEREADONL Y,"文本文件(*.txt)|*.txt||", this);dlg.m_ofn.lpstrTitle = _T("保存直方图");//设置保存路径if (dlg.DoModal() == IDOK){CString fileName = dlg.GetPathName();file.Open(fileName, CFile::modeReadWrite|CFile::modeCreate);}int nHist[256*3];int i,j;for ( i=0;i<256;i++){nHist[i]=0;}//求8位直方图对应灰度的像素个数for (i=0;i<pDoc->BmpHeight;i++)for(j=0;j<pDoc->BmpWidth;j++){nHist[pDoc->pImage[i*pDoc->nWidth+j]]++;}char ch[16]={0},a[3]={0};//ch数组存放像素个数,a数组存放灰度for(i=0;i<256;i++){itoa(nHist[i],ch,10);//将整数转化为字符itoa(i,a,10);void CEmptyV iew::On24xinxi() //24bit直方图信息保存{// TODO: Add your command handler code hereCEmptyDoc *pDoc=GetDocument();ASSERT_VALID(pDoc);CString sF ileName;CFile file;CFileDia log dlg(FALSE, "txt", sFileName,OFN_OVERWRITEPROMPT|OFN_HIDEREADONL Y,"文本文件(*.txt)|*.txt||", this);dlg.m_ofn.lpstrTitle = _T("保存直方图");//设置保存路径if (dlg.DoModal() == IDOK){CString fileName = dlg.GetPathName();file.Open(fileName, CFile::modeReadWrite|CFile::modeCreate);}int nHist[256*3];int i,j,nWidth;for ( i=0;i<256*3;i++){nHist[i]=0;}if (pDoc->BmpWidth%4==0){nWidth=pDoc->BmpWidth*3;}else{nWidth=(pDoc->BmpWidth*3/4+1)*4;}//求24位直方图对应灰度的像素个数for (i=0;i<pDoc->BmpHeight;i++)for(j=0;j<pDoc->BmpWidth;j++){nHist[pDoc->pImage[i*nWidth+j*3]]++;nHist[256+pDoc->pImage[i*nWidth+j*3+1]]++;nHist[512+pDoc->pImage[i*nWidth+j*3+2]]++;}char ch[16]={0},a[3]={0};//ch数组存放像素个数,a数组存放灰度file.Write("B", 1);//蓝分量file.Write("\r\n", 2);for(i=0;i<256;i++){itoa(nHist[i],ch,10);//将整数转化为字符itoa(i,a,10);file.Write(a, sizeof(a) );file.Write(":", 1 );file.Write(ch, sizeof(ch) );file.Write("\r\n", 2 );}file.Write("\r\n", 2 );file.Write("G", 1 );//红分量file.Write("\r\n", 2 );char b[3]={0};for(i=256;i<256*2;i++){itoa(nHist[i],ch,10);//将整数转化为字符itoa(i-256,b,10);file.Write(b, sizeof(b) );file.Write(":", 1 );file.Write(ch, sizeof(ch) );file.Write("\r\n", 2 );}file.Write("\r\n", 2 );file.Write("R", 1 );//红分量file.Write("\r\n", 2 );#include "math.h"void CTeachV iew::OnDuijiaoxian() //画对角线{// TODO: Add your command handler code hereCTeachDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);int i,j,nWidth;double x=pDoc->BmpWidth;double y=pDoc->BmpHeight;double t=10*sqrt(2);if(pDoc->BitCount == 8){if (pDoc->BmpWidth % 4 != 0)nWidth = ((pDoc->BmpWidth / 4) + 1) * 4;elsenWidth = pDoc->BmpWidth;for(j=0;j<pDoc->BmpHeight;j++)for(i=0;i<pDoc->BmpWidth;i++){if(j>(y-t)*(i-t)/(x-t)&&j<y-(y-t)*(x-i-t)/(x-t)||j<y-(y-t)*(i-t)/(x-t)&&j>(y-t)*(x-i-t)/(x-t)){pDoc->pImage[j*nWidth+i]=0;}}}else{if (pDoc->BmpWidth % 4 != 0)nWidth = ((pDoc->BmpWidth * 3 / 4) + 1) * 4;elsenWidth = pDoc->BmpWidth * 3;for(j=0;j<pDoc->BmpHeight;j++)for(i=0;i<pDoc->BmpWidth;i++){if(j>(y-t)*(i-t)/(x-t)&&j<y-(y-t)*(x-i-t)/(x-t)||j<y-(y-t)*(i-t)/(x-t)&&j>(y-t)*(x-i-t)/(x-t)){ pDoc->pImage[j*nWidth+i*3]=0;pDoc->pImage[j*nWidth+i*3+1]=0;pDoc->pImage[j*nWidth+i*3+2]=255;}}}OnInitialUpdate();}void CTeach_testV iew::On8bitShizi() //黑色十字架{CTeach_testDoc *pDoc=GetDocument();int i,j;for(i=0;i<10;i++){for(j=pDoc->BmpWidth/3;j<pDoc->BmpWidth/3*2;j++){pDoc->pImage[(pDoc->BmpHeight/2+i)*pDoc->nWidth+j]=0;}}for(i=0;i<pDoc->BmpHeight/3;i++){for(j=pDoc->BmpWidth/2-5;j<pDoc->BmpWidth/2+5;j++)pDoc->pImage[(pDoc->BmpHeight/3+i)*pDoc->nWidth+j]=0; }Invalidate(TRUE);}void CTeachV iew::OnAverage() //直方图均衡化{// TODO: Add your command handler code hereCTeachDoc* pDoc = GetDocument();int nHist[256*3];int i,j,nWidth,temp=0,temp1=0,temp2=0,temp3=0;float a[256],b[256];if (pDoc->BmpWidth%4==0){nWidth=pDoc->BmpWidth;}else{nWidth=(pDoc->BmpWidth/4+1)*4;}for ( i=0;i<256;i++){nHist[i]=0;}for (i=0;i<pDoc->BmpHeight;i++)for(j=0;j<pDoc->BmpWidth;j++){nHist[pDoc->pImage[i*nWidth+j]]++;}////求概率密度for ( i=0;i<256;i++){a[i]=(float)nHist[i]/(pDoc->BmpHeight*pDoc->BmpWidth);}////求概率分布b[0]=a[0];for ( i=1;i<256;i++){b[i]=b[i-1]+a[i];}//////进行点运算for (i=0;i<pDoc->BmpHeight;i++)for(j=0;j<pDoc->BmpWidth;j++){temp=pDoc->pImage[i*nWidth+j];pDoc->pImage[i*nWidth+j]=(int)(255*b[temp]+0.5);//四舍五入}OnInitialUpdate();}void CTeachV iew::OnBiaoqian() //打理工标签{// TODO: Add your command handler code hereCTeachDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);int i,j;int Width2,Height2,nWidth2;LPCTSTR lpszPathName;CString str=".//nit2.bmp";lpszPathName=str;pDoc->ReadImage(lpszPathName);Width2=pDoc->BmpWidth;Height2=pDoc->BmpHeight;if (Width2 % 4 != 0){nWidth2 = ((Width2 / 4) + 1) * 4;}else{nWidth2= Width2;}BYTE * newpImage=(BYTE*)malloc(nWidth2*Height2);for( j=0;j<Height2;j++)for ( i=0;i<Width2;i++){newpImage[j*nWidth2+i]=pDoc->pImage[j*pDoc->nWidth+i];}str=".//water1.bmp";lpszPathName=str;pDoc->ReadImage(lpszPathName);for( j=0;j<Height2;j++)for ( i=0;i<Width2;i++){pDoc->pImage[(pDoc->BmpHeight -Height2 + j) * pDoc->nWidth + (pDoc->BmpWidth -Width2 + i)]=0;pDoc->pImage[(pDoc->BmpHeight-Height2+j)*pDoc->nWidth+pDoc->BmpWidth-Width2+i]=newpImage[j*nWidth2+i];}Invalidate();}。
2018学年第二学期数字图像处理期中考试
(考试时间70分钟)
一、美化人物照片(20分)
1、对素材1进行处理,最终效果图如下。
保存文件为“学号+姓名+美化
人物.psd”和“学号+姓名+美化人物 .jpg”。
二、绘制图案(30)
1、绘制图案,图像大小为1000像素*1000像素,分辨率为300像素/英寸,
效果如图所示。
保存文件为“学号+姓名+绘制图案.psd”和“学号+姓
名+绘制图案.jpg”。
三、制作名片(40分)
1、名片的大小为90mm*55mm,分辨率为300,效果图如下.
2、制作名片的正面,店长的姓名为学生本人姓名,使用的皇冠是自定义形
状中的“皇冠1”,保存文件为“学号+姓名+名片正面 .psd”和“学
号+姓名+名片正面 .jpg”。
3、制作名片的反面,使用的形状是自定义形状中的“装饰8”,保存文件
为“学号+姓名+名片反面 .psd”和“学号+姓名+名片反面 .jpg”。
四、快乐宝贝(10分)
1、使用素材中的宝贝照片1-4张,自主设计,适当增加文字修饰,保存文
件为“学号+姓名+快乐宝贝.psd”和“学号+姓名+快乐宝贝 .jpg”。
可参考如下模板。
贺文龙2008118029 电信期中作业图像的变换域压缩编码实验内容:设计一种基于变换域的压缩编码方法(如DCT,DHT等),并在变换域设计一种系数量化方案压缩图像。
实验代码一、clear all;close all;clcI=imread('lenna.jpg')I=rgb2gray(I);I=im2double(I) %转换图像矩阵为双精度型。
J=dct2(I);T=dctmtx(8) %产生二维DCT变换矩阵a1=[16 11 10 16 24 40 51 61;12 12 14 19 26 58 60 55;14 13 16 24 40 57 69 56;14 17 22 29 51 87 80 62;18 22 37 56 68 109 103 77;24 35 55 64 81 104 113 92;49 64 78 87 103 121 120 101;72 92 95 98 112 100 103 99 ];for i=1:8:200for j=1:8:200P=I(i:i+7,j:j+7);K=T*P*T';I2(i:i+7,j:j+7)=K;K=K./a1; %量化K(abs(K)<0.03)=0;I3(i:i+7,j:j+7)=K;endendfigure;imshow(I2);title('DCT变换后的频域图像'); %显示DCT变换后的频域图像for i=1:8:200for j=1:8:200P=I3(i:i+7,j:j+7).*a1; %反量化K=T'*P*T;I4(i:i+7,j:j+7)=K;endendfigure;imshow(I4);title('复原图像');B=blkproc(I,[8,8],'P1*x*P2',T,T')%计算二维DCT,矩阵T及其转置是DCT函数P1*X*P2的参数mask=[1 1 1 1 0 0 0 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 ]%二值掩模,用来压缩DCT系数,只留下DCT系数中左上角的10个B2=blkproc(B,[8 8],'P1.*x',mask) %只保留DCT变换的10个系数I2=blkproc(B2,[8 8],'P1*x*P2',T',T) %重构图像figureimshow(I)title('原始图像');figureimshow(I2);title('压缩图像');figureimshow(J);figuremesh(J) %画出J的立体网状图colorbar('horiz') %在水平条方向用不同的颜色表示曲面的高度二、运行结果分析执行程序产生的二维DCT变换矩阵T如下:T =0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.35360.4904 0.4157 0.2778 0.0975 -0.0975 -0.2778 -0.4157 -0.49040.4619 0.1913 -0.1913 -0.4619 -0.4619 -0.1913 0.1913 0.46190.4157 -0.0975 -0.4904 -0.2778 0.2778 0.4904 0.0975 -0.41570.3536 -0.3536 -0.3536 0.3536 0.3536 -0.3536 -0.3536 0.35360.2778 -0.4904 0.0975 0.4157 -0.4157 -0.0975 0.4904 -0.27780.1913 -0.4619 0.4619 -0.1913 -0.1913 0.4619 -0.4619 0.19130.0975 -0.2778 0.4157 -0.4904 0.4904 -0.4157 0.2778 -0.0975图1 lenna的原始图像图2 DCT变换后的频域图像分析:通过矩阵a1只对图像左上角的一部分进行了DCT变换后的频域处理。
数字图像处理试题及答案一、选择题(每题2分,共20分)1. 数字图像处理中,灰度化处理的目的是什么?A. 增加图像的分辨率B. 减少图像的存储空间C. 使彩色图像变为黑白图像D. 提高图像的对比度答案:C2. 在数字图像处理中,滤波器的作用是什么?A. 增强图像的边缘B. 减少图像的噪声C. 改变图像的颜色D. 以上都是答案:B3. 以下哪一项不是数字图像的基本属性?A. 分辨率B. 颜色深度C. 像素D. 文件大小答案:D4. 数字图像的直方图表示了什么?A. 图像的亮度分布B. 图像的对比度C. 图像的饱和度D. 图像的色相答案:A5. 在图像锐化处理中,通常使用什么类型的滤波器?A. 平滑滤波器B. 高通滤波器C. 低通滤波器D. 带通滤波器答案:B二、简答题(每题10分,共30分)1. 简述数字图像的采样和量化过程。
答:数字图像的采样是指将连续的图像信号转换为离散信号的过程,通常通过在空间上等间隔地采样图像的亮度值来实现。
量化则是将采样得到的连续值转换为有限数量的离散值的过程,这通常涉及到将采样值映射到一个有限的灰度或颜色级别上。
2. 解释什么是图像的边缘检测,并说明其在图像处理中的重要性。
答:边缘检测是识别图像中亮度变化显著的区域,通常是物体边界的表示。
在图像处理中,边缘检测对于图像分割、特征提取、目标识别等任务至关重要,因为它能帮助算法理解图像的结构和内容。
3. 描述图像的几何变换包括哪些类型,并举例说明其应用场景。
答:图像的几何变换包括平移、旋转、缩放和错切等。
这些变换可以用于图像校正、图像配准、视角转换等场景。
例如,在医学成像中,几何变换可以用来校正由于患者姿势不同导致的图像偏差。
三、计算题(每题25分,共50分)1. 给定一个3x3的高斯滤波器模板:\[G = \begin{bmatrix}1 &2 & 1 \\2 & 4 & 2 \\1 &2 & 1\end{bmatrix}\]如果原始图像的一个小区域为:\[A = \begin{bmatrix}10 & 20 & 30 \\40 & 50 & 60 \\70 & 80 & 90\end{bmatrix}\]计算经过高斯滤波后的图像区域。
一、填空题1、数字图像处理研究的内容概括起来主要有__图像数字化___、图像变换、图像增强、图像复原、图像分割与分析、图像压缩编码、模式识别和图像融合等。
2、位图可以表示为:灰度图、黑白图、彩色图。
3、根据光源的性质,成像可分为:反射成像,透射成像。
4、彩色可以用:亮度、色调、饱和度来描述。
5、傅里叶变换在图像处理中的应用有:特征提取、空间频率与滤波、图像恢复、纹理分析。
6、图像处理中用到的频域变换方式有:傅里叶变换、离散余弦变换、小波变换等。
二、判断1、图像分辨率越高,图像质量越好,占用的存储空间越小(×)2、图像出现马赛克是由于量化层次太少造成(×)3、假彩色图像处理的是自然彩色图像,伪彩色图像处理的是灰度图像(√)4、GPEJ图像压缩标准用的是快速傅里叶变换(×)5、图像的光滑化,会导致图像模糊不清(√)6、对比度拉伸能增强图像的对比度(√)7、电影中的“蓝幕”采用的是灰度窗口变换的方法(√)8、骨架化是图像轮廓逐次增加边缘,最终变为具有某一宽度的骨架(×)9、直方图均衡化可以增强整个图像对比度,增加灰度分层(×)10、预测编码是一种无损压缩编码(×)三、选择题1、下列哪一个模板可用于图像平滑(A)A、1/9 1/9 1/9B、1 1 1C、1/3 1/3 1/3D、-1 -1 -11/9 1/9 1/9 1 -8 1 1/3 1/3 1/3 -1 8 -11/9 1/9 1/9 1 1 1 1/3 1/3 1/3 -1 -1 -12、对于含有孤立线噪声的图像,既要保证图像的边缘,又要去除噪声应该用那种滤波器(B)A、box模板B、中值滤波器C、gauss模板D、prewitt模板3、将图像“name.tif”存储到文件中的命令(C)A、imread(’name.tif’)B、loadC、imwrite(’name.tif’)D、imshow(’name.tif’)4、对一幅二值图像做腐蚀的结果(B)A、图像面积放大B、图像面值缩小C、图像面积不变D、图像边界变圆5、下列算法中属于局部处理的是(D)A、灰度线性变换B、二值化C、傅里叶变换D、中值滤波四、简答题1、什么是数字图像处理系统?他有那几部分组成?答:数字图像处理系统是应用计算机或专用数字设备对图像信息进行处理的信息系统。
数字图像处理技术考试(答案见尾页)一、选择题1. 数字图像处理技术的历史和发展趋势是什么?A. 20世纪50年代初期以来,数字图像处理技术经历了从模拟到数字的转变。
B. 随着计算机技术的发展,数字图像处理技术得到了广泛的应用。
C. 数字图像处理技术的主要研究内容包括图像增强、图像变换、图像编码与解码等。
D. 数字图像处理技术的发展趋势包括更高的分辨率、更快的处理速度和更复杂的算法。
2. 在数字图像处理中,什么是图像增强?它的主要方法有哪些?A. 图像增强是为了改善图像的质量,对图像进行变换和修正。
B. 图像增强方法包括直方图均衡化、对比度拉伸、噪声滤波等。
C. 对比度拉伸可以使图像中的亮部和暗部细节更加清晰。
D. 噪声滤波可以有效减少图像中的噪声。
3. 数字图像处理中的图像编码和解码有什么作用?它们分别采用哪些方法?A. 图像编码是将图像数据压缩,以便于存储和传输。
B. 图像解码是将压缩后的图像数据还原为原始图像。
C. 需要注意的是,无损编码和解码是理想情况,实际应用中可能有所损失。
D. JPEG和PNG是常用的数字图像编码格式。
4. 什么是图像分割?它有哪些常用的方法?A. 图像分割是将图像划分为多个区域,每个区域具有相似的特征。
B. 常用的图像分割方法包括阈值分割、区域生长、边缘检测等。
C. 阈值分割是根据图像的灰度值进行分割。
D. 边缘检测可以检测图像中的边缘信息,是图像处理的重要步骤。
5. 数字图像处理中,什么是特征提取?它的主要步骤有哪些?A. 特征提取是从图像中提取出能够代表图像内容的关键信息。
B. 特征提取的主要步骤包括选择合适的特征、提取特征、选择合适的特征表示方法。
C. 常用的特征提取方法有HOG、SIFT、SURF等。
D. 特征表示方法可以是简单的像素值,也可以是更复杂的统计或结构特征。
6. 数字图像处理中,什么是图像融合?它有哪些应用场景?A. 图像融合是将多个图像的信息合并,以获得更丰富的信息。
《数字图像处理》期中考试试题
1.一幅分辨率为1024*768的真彩色图像(每个像素用RGB三个字节
表示),其所占的存储空间为多少MB?若考虑4字节对齐,分辨率为1022*768的真彩色图像,所占的存储空间为多少MB?
1024*768*3 = 2304 KB
若按4字节对齐,则每行的字节数为:
(int)(1022 * 3 + 3)/ 4 = 767
所占的空间为:767*768 =
2.简述位图文件的存储格式。
位图文件格式由四部分组成,分别是位图文件头、位图信息头、调色板以及位图像素数据,其中调色板信息为可选信息,只有当每个像素的比特数小于或等于8(BITMAPINFOHEADER.biBitCount<=8)时才存在,即为一个颜色查找表。
3.简述直方图均衡化的基本过程。
若一幅图像具有如表1所示的概
率分布,给出直方图均衡化后的灰度级对应关系以及均衡化后的直方图分布。
表1
直方图均衡化:
4. 阐述基于双线性插值的图像缩放的主要原理。
对于如下的灰度图像,给出放大2倍后的灰度图像。
(1) 反向映射
设缩放的比例为k ,对于缩放后图像中的每个像素(',')x y ,求其在原始图像中的坐标(,)x y :
'/'/x x k
y y k =⎧⎨
=⎩
(2) 双线性插值
反向映射得到原始图像中的(,)x y 的坐标是浮点数,而在离散数字图像中,每个像素的坐标都是整数,因此可以通过双线性插值的方法得到最后的颜色值。
首先得到原始图像中与(,)x y 最近的四个像素点的坐标
00(int)(int)x x y y =⎧⎨
=⎩,10101x x y y =+⎧⎨=⎩,202011x x y y =+⎧⎨=+⎩,30
3
01x x y y =⎧⎨=+⎩ 首先在x 方向进行差值得到:
110010()()P P x x P P =+--
223023()()P P x x P P =+--
然后在y 方向进行插值得到最终的颜色值:
112211(0)()P P y y P P =+--
放大后的图像:
图像边界处的图像随处理方法的不同,可能会有不同。
5. 简述离散数字图像频域中滤波的基本步骤。
证明用(1)x y +-乘以输入图像
能达到中心变换的目的,即((,)(1)
)(/2,/2)x y
f x y F u M v N +ℑ-=--,其中M ,N 分
别为图像x ,y 方向的分辨率。
基本步骤: (1) 用(1)
x y
+-乘以输入图像来进行中心变换
(2) 计算中心变换后的图像的DFT ,即(,)F u v (3) 用滤波器函数(,)H u v 乘以(,)F u v (4) 计算(3)中结果的反DFT (5) 得到(4)中结果的实部 (6) 用(1)x y
+-乘以(5)中的结果
证明:
112(//)
00
11
2[(/2)/(/2)/]
00
11()2(//)
00
1
2(//)
1
(,)(,)1
(/2,/2)(,)1(,)1(,)(1)
M N j ux M vy N x y M N j u M x M v N y N x y M N j x y j ux M vy N x y N x y
j ux M vy N y F u v f x y e
MN
F u M v N f x y e MN f x y e e
MN
f x y e MN
πππ
ππ---+==----+-==--+-+==-+-+==
⇒--=
==-∑∑∑∑
∑∑10M x -=∑∑
即:
((,)(1))(/2,/2)x y f x y F u M v N +ℑ-=--
空域上面乘以(1)x y
+-,相当于频域上的中心变换,即将频域的中心点(M/2, N/2)移到
(0,0)点。