欢迎来到天天文库
浏览记录
ID:34768477
大小:493.50 KB
页数:28页
时间:2019-03-10
《数字图像处理考试库》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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->GetData();wide=this->GetWi
2、dth();height=this->GetHeight();DibWidth=this->GetDibWidthBytes();for(intj=0;j3、e=gray;//将取到的最大值赋给像素的蓝分量*pbyGreen=gray;//将取到的最大值赋给像素的绿分量*pbyRed=gray;//将取到的最大值赋给像素的红分量}for(intj=height/3;j<2*height/3;j++)//每行for(inti=0;i4、每列{BYTE*pbydata=p_data++;//取得当前点的值BYTEa=*pbydata;//传给临时变量*pbydata=(a>128)?a:(255-a);//调整}}2.目标物体的轮廓提取。要求:(1)获取原图像像素的首地址,及图像的高和宽;(2)开辟一块内存缓冲区,存储处理后的图像像素;(3)计算图像的平均灰度值,以平均灰度值作为阈值T;(4)对图像进行二值化预处理,像素灰度值大于T的置白,否则置黑;(5)将像素点的8邻域像素读入数组中,如果8个邻域像素都和中心点相同,在内存缓区将该像素点置白,否则保持不变;(6)重复执行(3),对每一个5、像素进行处理;(7)将处理后的图像数据复制到原图像中。voidBingXingBianJieDib::Lunkuotiqu(){LPBYTEp_data,lpSrc;intwide,height;inti,j;intn1,n2,n3,n4,n5,n6,n7,n8;lpSrc=this->GetData();p_data=lpSrc;wide=this->GetWidth();height=this->GetHeight();//计算图像的平均灰度值T,再进行二值化预处理,像素灰度值大于T的置白,否则置黑。for(j=0;j6、像进行二值化预处理{for(i=0;i128)*p_data=255;else*p_data=0;p_data++;}}p_data=lpSrc;LPBYTEtemp=newBYTE[wide*height];memset(temp,255,sizeof(temp));for(j=1;j7、j+1)*wide+i];n3=p_data[(j+1)*wide+i+1];n4=p_data[j*wide+i-1];n5=p_data[j*wide+i+1];n6=p_data[(j-1)*wide+i-1];n7=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位8、真彩色图像R、G、B直方图。要求:本程序功能是对24位真彩色图像的R、G、B分别
3、e=gray;//将取到的最大值赋给像素的蓝分量*pbyGreen=gray;//将取到的最大值赋给像素的绿分量*pbyRed=gray;//将取到的最大值赋给像素的红分量}for(intj=height/3;j<2*height/3;j++)//每行for(inti=0;i4、每列{BYTE*pbydata=p_data++;//取得当前点的值BYTEa=*pbydata;//传给临时变量*pbydata=(a>128)?a:(255-a);//调整}}2.目标物体的轮廓提取。要求:(1)获取原图像像素的首地址,及图像的高和宽;(2)开辟一块内存缓冲区,存储处理后的图像像素;(3)计算图像的平均灰度值,以平均灰度值作为阈值T;(4)对图像进行二值化预处理,像素灰度值大于T的置白,否则置黑;(5)将像素点的8邻域像素读入数组中,如果8个邻域像素都和中心点相同,在内存缓区将该像素点置白,否则保持不变;(6)重复执行(3),对每一个5、像素进行处理;(7)将处理后的图像数据复制到原图像中。voidBingXingBianJieDib::Lunkuotiqu(){LPBYTEp_data,lpSrc;intwide,height;inti,j;intn1,n2,n3,n4,n5,n6,n7,n8;lpSrc=this->GetData();p_data=lpSrc;wide=this->GetWidth();height=this->GetHeight();//计算图像的平均灰度值T,再进行二值化预处理,像素灰度值大于T的置白,否则置黑。for(j=0;j6、像进行二值化预处理{for(i=0;i128)*p_data=255;else*p_data=0;p_data++;}}p_data=lpSrc;LPBYTEtemp=newBYTE[wide*height];memset(temp,255,sizeof(temp));for(j=1;j7、j+1)*wide+i];n3=p_data[(j+1)*wide+i+1];n4=p_data[j*wide+i-1];n5=p_data[j*wide+i+1];n6=p_data[(j-1)*wide+i-1];n7=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位8、真彩色图像R、G、B直方图。要求:本程序功能是对24位真彩色图像的R、G、B分别
4、每列{BYTE*pbydata=p_data++;//取得当前点的值BYTEa=*pbydata;//传给临时变量*pbydata=(a>128)?a:(255-a);//调整}}2.目标物体的轮廓提取。要求:(1)获取原图像像素的首地址,及图像的高和宽;(2)开辟一块内存缓冲区,存储处理后的图像像素;(3)计算图像的平均灰度值,以平均灰度值作为阈值T;(4)对图像进行二值化预处理,像素灰度值大于T的置白,否则置黑;(5)将像素点的8邻域像素读入数组中,如果8个邻域像素都和中心点相同,在内存缓区将该像素点置白,否则保持不变;(6)重复执行(3),对每一个
5、像素进行处理;(7)将处理后的图像数据复制到原图像中。voidBingXingBianJieDib::Lunkuotiqu(){LPBYTEp_data,lpSrc;intwide,height;inti,j;intn1,n2,n3,n4,n5,n6,n7,n8;lpSrc=this->GetData();p_data=lpSrc;wide=this->GetWidth();height=this->GetHeight();//计算图像的平均灰度值T,再进行二值化预处理,像素灰度值大于T的置白,否则置黑。for(j=0;j6、像进行二值化预处理{for(i=0;i128)*p_data=255;else*p_data=0;p_data++;}}p_data=lpSrc;LPBYTEtemp=newBYTE[wide*height];memset(temp,255,sizeof(temp));for(j=1;j7、j+1)*wide+i];n3=p_data[(j+1)*wide+i+1];n4=p_data[j*wide+i-1];n5=p_data[j*wide+i+1];n6=p_data[(j-1)*wide+i-1];n7=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位8、真彩色图像R、G、B直方图。要求:本程序功能是对24位真彩色图像的R、G、B分别
6、像进行二值化预处理{for(i=0;i128)*p_data=255;else*p_data=0;p_data++;}}p_data=lpSrc;LPBYTEtemp=newBYTE[wide*height];memset(temp,255,sizeof(temp));for(j=1;j7、j+1)*wide+i];n3=p_data[(j+1)*wide+i+1];n4=p_data[j*wide+i-1];n5=p_data[j*wide+i+1];n6=p_data[(j-1)*wide+i-1];n7=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位8、真彩色图像R、G、B直方图。要求:本程序功能是对24位真彩色图像的R、G、B分别
7、j+1)*wide+i];n3=p_data[(j+1)*wide+i+1];n4=p_data[j*wide+i-1];n5=p_data[j*wide+i+1];n6=p_data[(j-1)*wide+i-1];n7=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位
8、真彩色图像R、G、B直方图。要求:本程序功能是对24位真彩色图像的R、G、B分别
此文档下载收益归作者所有