遥感综合实习算法实习论文Word文档格式.docx
- 文档编号:19184377
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:13
- 大小:149.46KB
遥感综合实习算法实习论文Word文档格式.docx
《遥感综合实习算法实习论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《遥感综合实习算法实习论文Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
这种方法对分类的精度要求较高。
二、算法模拟
3.4.1差值法
图像差值法是应用最广泛的变化检测方法,可以应用于多种不同的地理环境和图像类型。
使用时首先计算不同时相图像对应像素灰度值或纹理特征值的差值,生成差值图像,接下来对差值图像选择合适的闽值找出差异较大的部分,以此代表此期脚此地区陆地表面的变化。
//差值运算
voidCYAOGAN214Doc:
:
OnXiangsu()
{
……
//图像的相关参数获取
DWORDnWidth=:
DIBWidth(m_pDIB);
DWORDnHeight=:
DIBHeight(m_pDIB);
DWORDnTemplateWidth=:
DIBWidth(pDIB);
DWORDnTemplateHeight=:
DIBHeight(pDIB);
LPBYTElpData=(LPBYTE):
FindDIBBits(m_pDIB);
LPBYTEnTemplateData=(LPBYTE):
FindDIBBits(pDIB);
DWORDWidthBytes=WIDTHBYTES(nWidth*8);
DWORDTemplateWidthBytes=WIDTHBYTES(nTemplateWidth*8);
int**n=newint*[nHeight];
for(inti=0;
i<
int(nHeight);
i++)
n[i]=newint[nWidth];
for(i=0;
nHeight;
i++)
{
for(intj=0;
j<
nWidth;
j++)
{
n[i][j]=0;
}
}
doublet=0.0;
for(i=0;
for(intj=0;
int(nWidth);
t=fabs(*(lpData+i*WidthBytes+j)-*(nTemplateData+i*TemplateWidthBytes+j));
if(t<
30)
{
n[i][j]=1;
}
elsen[i][j]=0;
m_a++;
if(n[i][j]==1)
{
*(lpData+i*WidthBytes+j)=0;
}
if(n[i][j]==0)
*(lpData+i*WidthBytes+j)=255;
m_c++;
m_b=(float)m_c/m_a;
UpdateAllViews(NULL);
MessageBoxPrintf(TEXT("
变化检测结果"
),TEXT("
发生变化的像素为%d变化率为%f"
),m_c,m_b);
}
3.4.2比值法
图像比值法与图像差值法原理类似,也是一个可以快速得到变化区域的方法。
在图像比值法中,将两幅采自不同时期的配准后的图像在每个波段求出对应像素的比值,如果每一幅图像的对应像素灰度值相同,则比值为1,表示没有发生变化;
对于变化区域,根据方向上的不同,比值会远大于1或远小于1。
比值法在一定程度上能减少影像间太阳高度角、阴影和地形不同造成的影响。
//比值运算
voidCYAOGAN214Doc:
OnBizhi()
……读取图像
{for(intj=0;
{n[i][j]=0;
pixeltemp1=*(lpData+i*WidthBytes+j);
//取得一时相图像当前指针处的像素值
pixeltemp2=*(nTemplateData+i*TemplateWidthBytes+j);
//取得二时相图像当前指针处的像素值
if(0.3<
pixeltemp2/pixeltemp1&
&
pixeltemp2/pixeltemp1<
1.7)
n[i][j]=1;
}
m_b=(float)m_c/m_a;
MessageBoxPrintf(TEXT("
三、算法改进
1、添加了用于显示变化检测结果的MessageBox使用函数。
intCDECLCYAOGAN214Doc:
MessageBoxPrintf(TCHAR*szCaption,TCHAR*szFormat,...)
TCHARszBuffer[1024];
va_listpArgList;
va_start(pArgList,szFormat);
_vsntprintf(szBuffer,sizeof(szBuffer)/sizeof(TCHAR),
szFormat,pArgList);
va_end(pArgList);
returnMessageBox(NULL,szBuffer,szCaption,0|1);
2、添加了基于K均值分类的变化检测
OnFenlei()
…………
//事先定义的K个中心
k;
*(m1+i)=256/(i+1);
for(i=0;
for(intj=0;
intmin=200;
//用于存放k个距离中的最小值
for(intq=0;
q<
q++)
*(l+q)=fabs(*(lpData+WidthBytes*(i)+(j))-*(m1+q));
if(*(l+q)<
min)
{
min=*(l+q);
n[i][j]=q;
}
//计算出了每个像素点到k个中心的距离
}//求出了每个点属于每个类,用*(n+i)表示
*(m2+j)=*(m1+j);
for(i=0;
for(j=0;
if(n[i][j]==q)
*(sum+q)=*(sum+q)+*(lpData+WidthBytes*(i)+(j));
*(num+q)=*(num+q)+1;
}
}//计算出了每个类别的点的数量
*(m1+i)=*(sum+i)/(*(num+i));
*(t+i)=pow(*(m1+i)-*(m2+i),2);
temp+=*(t+i);
}//计算出新的聚类中心
temp=sqrt(temp);
}while(temp>
1.01);
for(j=0;
*(m2+j)=0;
*(m1+j)=0;
}
//创建一个动态二维int数组
int**m=newint*[nHeight];
++i)
m[i]=newint[nWidth];
m[i][j]=0;
m[i][j]=q;
}}}
//计算出了每个像素点到k个中心的距离
if(m[i][j]==q)
}}}
2.5);
if(fabs(n[i][j]==m[i][j]))
*(lpData+i*WidthBytes+j)=0;
if(fabs(n[i][j]!
=m[i][j]))
*(lpData+i*WidthBytes+j)=255;
m_c++;
}}}
UpdateAllViews(NULL);
MessageBoxPrintf(TEXT("
四、效果分析
4.1差值法实现变化检测
图4.3.1差值法实现变化检测结果图
差值法的优点是简单便捷,方便实现,缺点是不能体现变化类别。
4.2比值法实现变化检测
图4.3.2比值法实现变化检测结果图
比值法的关键是选择合适的阈值。
比值法对图像上噪声不敏感。
4.3分类法实现变化检测
图4.3.3分类法实现变化检测结果图
分类法跟K的取值有很大关系,效果较比值法和差值法好。
参考文献:
[1]张杰,土地监测方法初探,2011
[2]李大银,沙化土地监测与发展趋势,2011.
[3]张冰;
姜娟,3S技术在黑龙江省沙化土地监测中的应用,2011.
[4]郭仕德,马廷,林旭东.高光谱遥感及其影像空间结构特征分析[J].测绘科学,2005,30(3):
35-39.
[5]莫奇京;
罗蔚生;
杨桂贤.基于开源WebGIS的广西沙化土地监测信息共享系统构建
[6]测绘科学.3S村镇退化土地监测与评价系统设计与实现[7]郭玉芳.浅谈高光谱遥感及其应用[J].测绘标准化,2006(4):
24-26.
.[7]科斯汗,数字图像处理,2010
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遥感 综合 实习 算法 论文