欢迎来到天天文库
浏览记录
ID:53351888
大小:541.50 KB
页数:27页
时间:2020-04-03
《数字图像处理_杨淑莹_测试题库.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、试题库一、填空题:1.彩色图像的灰度化处理,将真彩色图像转化成256色灰度图像。要求:转换关系为:Gray(i,j)=0.11R(i,j)+0.59G(i,j)+0.3B(i,j)(1)获取原图像像素的首地址,及图像的高度和宽度;(2)得到像素的蓝、绿、红的三个分值;(3)按照公式要求,计算Gray(i,j);(4)将该值返回给蓝、绿、红三个分量。voidMakeColorDib::MakegGray(){BYTE*p_data;intwide,height,DibWidth;p_data=this->Ge
2、tData();wide=this->GetWidth();height=this->GetHeight();DibWidth=this->GetDibWidthBytes();for(intj=0;j3、n;BYTEb=*pbyBlue;gray=0.11*r+0.59*g+0.3*b*pbyBlue=gray;//将取到的最大值赋给像素的蓝分量*pbyGreen=gray;//将取到的最大值赋给像素的绿分量*pbyRed=gray;//将取到的最大值赋给像素的红分量}for(intj=height/3;j<2*height/3;j++)//每行for(inti=0;i4、指向下一指针}for(intj=2*height/3;j128)?a:(255-a);//调整}}2.目标物体的轮廓提取。要求:(1)获取原图像像素的首地址,及图像的高和宽;(2)开辟一块内存缓冲区,存储处理后的图像像素;(3)计算图像的平均灰度值,以平均灰度值作为阈值T;(4)对图像5、进行二值化预处理,像素灰度值大于T的置白,否则置黑;(5)将像素点的8邻域像素读入数组中,如果8个邻域像素都和中心点相同,在内存缓区将该像素点置白,否则保持不变;(6)重复执行(3),对每一个像素进行处理;(7)将处理后的图像数据复制到原图像中。voidBingXingBianJieDib::Lunkuotiqu(){LPBYTEp_data,lpSrc;intwide,height;inti,j;intn1,n2,n3,n4,n5,n6,n7,n8;lpSrc=this->GetData();p_data6、=lpSrc;wide=this->GetWidth();height=this->GetHeight();//计算图像的平均灰度值T,再进行二值化预处理,像素灰度值大于T的置白,否则置黑。for(j=0;j128)*p_data=255;else*p_data=0;p_data++;}}p_data=lpSrc;LPBYTEtemp=newBYTE[wide*height];memset(te7、mp,255,sizeof(temp));for(j=1;j8、p_data[(j-1)*wide+i];n8=p_data[(j-1)*wide+i+1];//如果相邻的八个点都是黑点if(n1+n2+n3+n4+n5+n6+n7+n8==0)temp[j*wide+i]=255;}}memcpy(lpSrc,temp,wide*height);deletetemp;}3.编程实现分别统计24位真彩色图像R、G、B直方图。要求:本程序功能是对24位真彩色图像的R、G、B分别
3、n;BYTEb=*pbyBlue;gray=0.11*r+0.59*g+0.3*b*pbyBlue=gray;//将取到的最大值赋给像素的蓝分量*pbyGreen=gray;//将取到的最大值赋给像素的绿分量*pbyRed=gray;//将取到的最大值赋给像素的红分量}for(intj=height/3;j<2*height/3;j++)//每行for(inti=0;i4、指向下一指针}for(intj=2*height/3;j128)?a:(255-a);//调整}}2.目标物体的轮廓提取。要求:(1)获取原图像像素的首地址,及图像的高和宽;(2)开辟一块内存缓冲区,存储处理后的图像像素;(3)计算图像的平均灰度值,以平均灰度值作为阈值T;(4)对图像5、进行二值化预处理,像素灰度值大于T的置白,否则置黑;(5)将像素点的8邻域像素读入数组中,如果8个邻域像素都和中心点相同,在内存缓区将该像素点置白,否则保持不变;(6)重复执行(3),对每一个像素进行处理;(7)将处理后的图像数据复制到原图像中。voidBingXingBianJieDib::Lunkuotiqu(){LPBYTEp_data,lpSrc;intwide,height;inti,j;intn1,n2,n3,n4,n5,n6,n7,n8;lpSrc=this->GetData();p_data6、=lpSrc;wide=this->GetWidth();height=this->GetHeight();//计算图像的平均灰度值T,再进行二值化预处理,像素灰度值大于T的置白,否则置黑。for(j=0;j128)*p_data=255;else*p_data=0;p_data++;}}p_data=lpSrc;LPBYTEtemp=newBYTE[wide*height];memset(te7、mp,255,sizeof(temp));for(j=1;j8、p_data[(j-1)*wide+i];n8=p_data[(j-1)*wide+i+1];//如果相邻的八个点都是黑点if(n1+n2+n3+n4+n5+n6+n7+n8==0)temp[j*wide+i]=255;}}memcpy(lpSrc,temp,wide*height);deletetemp;}3.编程实现分别统计24位真彩色图像R、G、B直方图。要求:本程序功能是对24位真彩色图像的R、G、B分别
4、指向下一指针}for(intj=2*height/3;j128)?a:(255-a);//调整}}2.目标物体的轮廓提取。要求:(1)获取原图像像素的首地址,及图像的高和宽;(2)开辟一块内存缓冲区,存储处理后的图像像素;(3)计算图像的平均灰度值,以平均灰度值作为阈值T;(4)对图像
5、进行二值化预处理,像素灰度值大于T的置白,否则置黑;(5)将像素点的8邻域像素读入数组中,如果8个邻域像素都和中心点相同,在内存缓区将该像素点置白,否则保持不变;(6)重复执行(3),对每一个像素进行处理;(7)将处理后的图像数据复制到原图像中。voidBingXingBianJieDib::Lunkuotiqu(){LPBYTEp_data,lpSrc;intwide,height;inti,j;intn1,n2,n3,n4,n5,n6,n7,n8;lpSrc=this->GetData();p_data
6、=lpSrc;wide=this->GetWidth();height=this->GetHeight();//计算图像的平均灰度值T,再进行二值化预处理,像素灰度值大于T的置白,否则置黑。for(j=0;j128)*p_data=255;else*p_data=0;p_data++;}}p_data=lpSrc;LPBYTEtemp=newBYTE[wide*height];memset(te
7、mp,255,sizeof(temp));for(j=1;j8、p_data[(j-1)*wide+i];n8=p_data[(j-1)*wide+i+1];//如果相邻的八个点都是黑点if(n1+n2+n3+n4+n5+n6+n7+n8==0)temp[j*wide+i]=255;}}memcpy(lpSrc,temp,wide*height);deletetemp;}3.编程实现分别统计24位真彩色图像R、G、B直方图。要求:本程序功能是对24位真彩色图像的R、G、B分别
8、p_data[(j-1)*wide+i];n8=p_data[(j-1)*wide+i+1];//如果相邻的八个点都是黑点if(n1+n2+n3+n4+n5+n6+n7+n8==0)temp[j*wide+i]=255;}}memcpy(lpSrc,temp,wide*height);deletetemp;}3.编程实现分别统计24位真彩色图像R、G、B直方图。要求:本程序功能是对24位真彩色图像的R、G、B分别
此文档下载收益归作者所有