数字图像处理试题库(22页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数字图像处理试题库(22页).doc》由会员分享,可在线阅读,更多相关《数字图像处理试题库(22页).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-数字图像处理试题库-第 22 页试题库一、填空题:1彩色图像的灰度化处理,将真彩色图像转化成256色灰度图像。要求:转换关系为:Gray(i,j)=0.11R(i,j)+0.59G(i,j)+0.3B(i,j)(1) 获取原图像像素的首地址,及图像的高度和宽度; (2) 得到像素的蓝、绿、红的三个分值;(3) 按照公式要求,计算Gray(i,j);(4) 将该值返回给蓝、绿、红三个分量。void MakeColorDib:MakegGray() BYTE *p_data; int wide,height,DibWidth; p_data=this-GetData (); wide=this-
2、GetWidth (); height=this-GetHeight (); DibWidth=this-GetDibWidthBytes(); for(int j=0;j height;j+ )for(int i=0;i DibWidth;i+=3)BYTE* pbyBlue = p_data+; /得到蓝色值BYTE* pbyGreen = p_data+; /得到绿色值BYTE* pbyRed = p_data+; /得到红色值BYTE r = *pbyRed; BYTE g = *pbyGreen; BYTE b = *pbyBlue; gray =0.11*r+0.59*g+0.3*
3、b *pbyBlue = gray; /将取到的最大值赋给像素的蓝分量*pbyGreen = gray; /将取到的最大值赋给像素的绿分量*pbyRed = gray; /将取到的最大值赋给像素的红分量for(int j= height/3;j2*height/3;j+) / 每行for(int i=0;iDibWidth;i+) / 每列int a=*p_data; /取得当前点的值*p_data=255-a; /取反p_data+; /指向下一指针 for(int j=2*height/3;jheight;j+) / 每行for(int i=0;i128)?a:(255-a); /调整2目
4、标物体的轮廓提取。要求:(1)获取原图像像素的首地址,及图像的高和宽;(2)开辟一块内存缓冲区,存储处理后的图像像素;(3)计算图像的平均灰度值,以平均灰度值作为阈值T;(4)对图像进行二值化预处理,像素灰度值大于T的置白,否则置黑;(5)将像素点的8邻域像素读入数组中,如果8个邻域像素都和中心点相同,在内存缓区将该像素点置白,否则保持不变;(6)重复执行(3),对每一个像素进行处理;(7)将处理后的图像数据复制到原图像中。void BingXingBianJieDib:Lunkuotiqu()LPBYTE p_data, lpSrc; int wide,height; int i,j; in
5、t n1,n2,n3,n4,n5,n6,n7,n8; lpSrc=this-GetData();p_data=lpSrc;wide=this-GetWidth ();height=this-GetHeight ();/计算图像的平均灰度值T,再进行二值化预处理,像素灰度值大于T的置白,否则置黑。for(j=0;jheight;j+) /对图像进行二值化预处理for( i=0;i128) *p_data=255;else *p_data=0; p_data+;p_data=lpSrc; LPBYTE temp=new BYTEwide*height; memset( temp,255,sizeo
6、f( temp); for(j=1;jheight-1;j+)for(i=1;iGetData();height=this-GetHeight ();wide=this-GetWidth ();4根据结构编程实现图像的闭运算。要求:(1)得原图像的首地址及图像的宽和高。(图像已经二值化,背景为白,物体为黑)。(2)辟一块内存缓冲区,并初始化为255。(3)定义一个结构数组B9。B 9 = (4)为防越界,不处理最左边、最右边、最上边和最下边四边的像素,从第2行第2列开始进行闭运算。(5)循环步骤4,直到处理完原图的全部像素点。(6)将结果从内存复制到原图的数据区。void FuShiYuPen
7、gZhangDib:Onfushi() int i,j,m,n;LPBYTE p_data;LPBYTElpSrc;LPBYTElpDst;LPBYTEtemp;p_data = GetData();LONG wide= GetWidth();LONG height =GetHeight();temp =new BYTEwide*height;lpDst = (LPBYTE)temp;memset(lpDst, (BYTE)255, wide * height);/ 33的结构元素int B9 = 1, 0, 1,0, 0, 0,1, 0, 1;/ 使用全方向的结构元素进行腐蚀for (j =
8、 1; j height - 1; j+)for (i = 1; i wide - 1; i+)/ 由于使用33的结构元素,为防止越界,所以不处理最左、右、上、下四/边的像素/ 指向源图像倒数第j行,第i个象素的指针lpSrc = (unsigned char *)(p_data + wide * j + i);/ 指向目标图像倒数第j行,第i个象素的指针lpDst = (unsigned char *)(temp + wide * j + i);/ 目标图像中的当前点先赋成黑色*lpDst = 0;/ 如果源图像中33结构元素对应位置有白点/ 则将目标图像中的(0,0)点赋成白色for (m
9、 = 0; m 3; m+)for (n = 0; n 128)*lpDst = 255;break;memcpy(p_data, temp, wide * height);delete temp;5编程实现图像的渐隐。要求:显示一幅位图,像素浓度由亮到暗,逐渐减弱,直至全黑。请写出渐隐的程序代码。void CDynSplitView2:OnJianyin() CDC *pDC=GetDC();CRect rect(0,0,1000,1000);CBrush brush(RGB(255,255,255);pDC-FillRect(&rect,&brush);clearmem();CDSplit
10、Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);if(!pDoc -statedoc&state2=1 ) BYTE* pBitmapData = CDibNew1-GetData(); LPBITMAPINFO pBitmapInfo = CDibNew1-GetInfo(); int bitmapHeight= CDibNew1-GetHeight(); int bitmapWidth = CDibNew1-GetWidth();if (CDibNew1-GetRGB() / Has a color tableCPalette* hPalette=
11、CreateBitmapPalette(CDibNew1);CPalette * hOldPalette =pDC-SelectPalette(hPalette, true);pDC-RealizePalette();LPBYTE temp,temp1,temp2;temp=new BYTECDibNew1-GetHeight()*CDibNew1-GetHeight();memset (temp,0,CDibNew1-GetHeight()*CDibNew1-GetHeight();for(int n=0;n=256 ; n+ )temp1=temp temp2=pBitmapData fo
12、r(int j=0;jbitmapHeight ; j+) for(int i=0;iGetSafeHdc(),0, 0, bitmapWidth, bitmapHeight,0, 0, bitmapWidth, bitmapHeight,temp,pBitmapInfo,DIB_RGB_COLORS, SRCCOPY);Sleep(0.0005);pDC-SelectPalette(hOldPalette, true);:DeleteObject(hPalette);delete temp;6对灰度图像进行NN十字型中值滤波处理。要求:(1)取得图像大小、数据区,并把数据区复制到缓冲区中;(
13、2)取得N值;(3)循环取得各点像素值;(4)对以该点为中心的N*N十字型屏蔽窗口包括的各像素值进行排序,得到中间值;(5)把该点像素值置为中间值;(6)把缓冲区中改动的数据复制到原数据区中。void ZaoShengXiaoChuDib:nnzhong(int n)DWORD size;size=GetSize();BYTE* p_temp=new BYTE size;memset(p_temp,255,size);int yy,xx,n2,nn,chuo,chg,m,medi,madom,mado1000;BYTE *p_data; int wide,height; if(n=3&n%2=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 试题库 22
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内