资源简介
像素级遥感图像融合算法主要有IHS变换法、小波变换法、主成分分析(PCA)法和Brovey变换法。这几种融合算法理论比较成熟,并且在特定方面都有很好的融合效果。
代码片段和文件信息
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include “main.h“
#include “setup.h“
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource “*.dfm“
TfmMain *fmMain;
//---------------------------------------------------------------------------
__fastcall TfmMain::TfmMain(TComponent* Owner)
: TForm(Owner)
{
sb=new Graphics::TBitmap();
sf=new Graphics::TBitmap();
md=false;
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::FormClose(Tobject *Sender TCloseAction &Action)
{
sb->Free();
sf->Free();
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::B1Click(Tobject *Sender)
{
if(!OpenPictureDialog1->Execute()) return;
sb->LoadFromFile(OpenPictureDialog1->FileName);
sb->PixelFormat=pf24bit;
Posx=Posy=0;
UpdatePic();
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::B2Click(Tobject *Sender)
{
if(!OpenPictureDialog1->Execute()) return;
sf->LoadFromFile(OpenPictureDialog1->FileName);
sf->PixelFormat=pf24bit;
Posx=Posy=0;
UpdatePic();
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::UpdatePic()
{
byte redbluegreen;
byte tr;
byte BW;
int xy;
int r;
TMyColor cc1c2;
Graphics::TBitmap *b=new Graphics::TBitmap();
b->PixelFormat=pf24bit;
b->Width=sb->Width;
b->Height=sb->Height;
b->Canvas->Draw(00sb);
red=fmSetup->TrackBar1->Position;
green=fmSetup->TrackBar2->Position;
blue=fmSetup->TrackBar3->Position;
tr=fmSetup->TrackBar4->Position;
BW=fmSetup->TrackBar5->Position;
for(x=0;xWidth;x++)
for(y=0;yHeight;y++)
{
r=BW;
if(x if(y if((sf->Width-x)Width-x;
if((sf->Height-y)Height-y;
c=GetSourcePixel(x+Posxy+Posysb);
c1=GetSourcePixel(xysf);
c1.Blue=(c.Blue*tr+c1.Blue*(100-tr)*blue/255)/100;
c1.Green=(c.Green*tr+c1.Green*(100-tr)*green/255)/100;
c1.Red=(c.Red*tr+c1.Red*(100-tr)*red/255)/100;
c2.Blue= (c.Blue*(BW-r)+r*c1.Blue)/BW ;
c2.Green= (c.Green*(BW-r)+r*c1.Green)/BW ;
c2.Red= (c.Red*(BW-r)+r*c1.Red)/BW ;
if((y+Posy)>=0 && (y+Posy)Height && (x+Posx)>=0 && (x+Posx)Width)
((TMyColor *)(b->ScanLine[y+Posy]))[x+Posx]=c2;
}
Image->Picture->Graphic=b;
b->Free();
}
//---------------------------------------------------------------------------
TMyColor __fastcall TfmMain::GetSourcePixel(int xint yGraphics::TBitmap *b)
{
TMyColor c;
if(x<0 || x>=sb->Width || y<0 || y>=sb->Height) return c;
return ((TMyColor *)(b->ScanLine[y]))[x];
}
void __fastcall TfmMain::ImageMouseDown(Tobject *Sender
TMouseButton Button TShiftState Shift int
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4474 2000-02-19 10:42 tmp\main.cpp
文件 1525 2000-02-19 10:42 tmp\main.dfm
文件 2256 2000-02-19 10:42 tmp\main.h
文件 5224 2000-02-19 10:44 tmp\pic.bpr
文件 811 2000-02-19 09:13 tmp\pic.cpp
文件 196608 2000-02-19 10:48 tmp\pic.exe
文件 428 2000-02-19 10:44 tmp\pic.res
文件 1906 2000-02-19 10:22 tmp\setup.cpp
文件 2419 2000-02-19 10:35 tmp\setup.dfm
文件 1614 2000-02-19 10:21 tmp\setup.h
相关资源
- 基于小波变换的医学图像融合
- 基于NSCT的红外与可见光图像融合算法
- 城市卫星遥感图像融合处理质量评价
- CUDA实现的图像融合算法
- 图像融合的图像数据集
- NSCT&HSI 融合.rar
- 数字处理中 图像融合实验源图片
- Image registration pdf 图像融合 英文版
- 图像融合 CNN.zip
- 多尺度稀疏 图像融合.zip
- 高斯图像融合
- 图像融合算法大全 image fusion
- 多聚焦图像融合算法的研究
- openg多光谱图像融合
- 很不错的图像融合VC程序!
- 图像特征级融合
- 红外图像与可见光图像融合技术研究
- 基于NSCT 与模糊逻辑的图像融合方法
- PCA图像融合源码
- 多曝光图像融合基于显著性
- 医疗图像 可用于图像融合
- 高光谱图像融合,可直接运行
- 红外与可见光图像融合实验素材
- 遥感图像融合之加权融合
- 算法设计与分析-第2版-屈婉玲著
- 图像融合+质量评价
-
OCTEC公司图像融合A general fr
amework - 两组红外-可见光视频资源,用于图像
- imagefusion网站图像融合素材
- 图像融合源代码(多种算法可对比)
评论
共有 条评论