资源简介
基于C#写的遥感图像处理的课程设计程序,实现了影像读取,影像滤波,影像几何校正和影像分类,完美实现老师的要求。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OSGeo.GDAL;
namespace RS
{
public partial class Classification : Form
{
public Classification()
{
InitializeComponent();
}
public Bitmap GetRGBImage(OSGeo.GDAL.Dataset ds1 Rectangle showRect1 int[] bandlist1)
{
int imgWidth = ds1.RasterXSize; //影像宽
int imgHeight = ds1.RasterYSize; //影像高
float ImgRatio = imgWidth / (float)imgHeight; //影像宽高比
//获取显示控件大小
int BoxWidth = showRect1.Width;
int BoxHeight = showRect1.Height;
float BoxRatio = imgWidth / (float)imgHeight; //显示控件宽高比
//计算实际显示区域大小,防止影像畸变显示
int BufferWidth BufferHeight;
if (BoxRatio >= ImgRatio)
{
BufferHeight = BoxHeight;
BufferWidth = (int)(BoxHeight * ImgRatio);
}
else
{
BufferWidth = BoxWidth;
BufferHeight = (int)(BoxWidth / ImgRatio);
}
//构建位图
Bitmap bitmap = new Bitmap(BufferWidth BufferHeight
System.Drawing.Imaging.PixelFormat.Format24bppRgb);
if (bandlist1.Length == 3) //RGB显示
{
int[] r = new int[BufferWidth * BufferHeight];
Band band1 = ds1.GetRasterBand(bandlist1[0]);
band1.ReadRaster(0 0 imgWidth imgHeight r BufferWidth BufferHeight 0 0); //读取图像到内存
//为了显示好看,进行最大最小值拉伸显示
double[] maxandmin1 = { 0 0 };
band1.ComputeRasterMinMax(maxandmin1 0);
int[] g = new int[BufferWidth * BufferHeight];
Band band2 = ds1.GetRasterBand(bandlist1[1]);
band2.ReadRaster(0 0 imgWidth imgHeight g BufferWidth BufferHeight 0 0);
double[] maxandmin2 = { 0 0 };
band2.ComputeRasterMinMax(maxandmin2 0);
int[] b = new int[BufferWidth * BufferHeight];
Band band3 = ds1.GetRasterBand(bandlist1[2]);
band3.ReadRaster(0 0 imgWidth imgHeight b BufferWidth BufferHeight 0 0);
double[] maxandmin3 = { 0 0 };
band3.ComputeRasterMinMax(maxandmin3 0);
int i j;
for (i = 0; i < BufferWidth; i++)
{
for (j = 0; j < BufferHeight; j++)
{
int rVal = Convert.ToInt32(r[i + j * BufferWidth]);
rVal = (int)((rVal - maxandmin1[0]) / (maxandmin1[1] - maxandmin1[0]) * 255);
int gVal = Convert.ToInt32(g[i + j
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 929 2017-06-27 07:19 RS.sln
文件 58368 2017-06-27 09:52 RS.v12.suo
文件 1787904 2014-09-11 08:12 tif7.suo
文件 55808 2017-06-27 07:20 tif7.v12.suo
目录 0 2017-11-07 15:23 tif7\
目录 0 2017-11-07 15:23 tif7\bin\
目录 0 2017-11-07 15:23 tif7\bin\Debug\
文件 1951744 2013-04-13 19:54 tif7\bin\Debug\cairo.dll
文件 1152512 2010-10-25 14:52 tif7\bin\Debug\cfitsio.dll
文件 8192 2014-05-08 11:34 tif7\bin\Debug\createdata.exe
文件 65024 2012-01-01 13:31 tif7\bin\Debug\freexl.dll
文件 121856 2010-10-25 14:54 tif7\bin\Debug\fribidi.dll
文件 544768 2010-10-25 15:09 tif7\bin\Debug\ftgl.dll
文件 13827584 2014-05-08 11:29 tif7\bin\Debug\gdal111.dll
文件 80384 2014-05-08 11:34 tif7\bin\Debug\gdal_csharp.dll
文件 140800 2014-05-08 11:34 tif7\bin\Debug\gdal_wrap.dll
文件 8192 2014-05-08 11:34 tif7\bin\Debug\GDALAdjustContrast.exe
文件 5632 2014-05-08 11:34 tif7\bin\Debug\GDALColorTable.exe
文件 19456 2014-05-08 11:34 tif7\bin\Debug\gdalconst_csharp.dll
文件 12800 2014-05-08 11:34 tif7\bin\Debug\gdalconst_wrap.dll
文件 5120 2014-05-08 11:34 tif7\bin\Debug\GDALCreateCopy.exe
文件 7168 2014-05-08 11:34 tif7\bin\Debug\GDALDatasetRasterIO.exe
文件 5120 2014-05-08 11:34 tif7\bin\Debug\GDALDatasetWrite.exe
文件 5632 2014-05-08 11:34 tif7\bin\Debug\GDALGetHistogram.exe
文件 9216 2014-05-08 11:34 tif7\bin\Debug\GDALInfo.exe
文件 5632 2014-05-08 11:34 tif7\bin\Debug\GDALMemDataset.exe
文件 6656 2014-05-08 11:34 tif7\bin\Debug\GDALOverviews.exe
文件 8704 2014-05-08 11:34 tif7\bin\Debug\GDALRead.exe
文件 8704 2014-05-08 11:34 tif7\bin\Debug\GDALReadDirect.exe
文件 5120 2014-05-08 11:34 tif7\bin\Debug\GDALWrite.exe
文件 1243648 2013-11-18 09:18 tif7\bin\Debug\geos.dll
............此处省略123个文件信息
相关资源
- C# 文件在线预览(word execl ppt Image t
- Head First C# 第三版高清完整PDF版
- Head First C# 英文版(04)
- Head First C# 高清完整版
- Asp.Net MVC4+EF6 Code First 权限管理系统
- 酒店管理程序.zip
- headfirstc#赛狗日源代码
- head first C#学习笔记-构建动态控件继承
- 计算机网路 实现RS232通讯C#
- 微信企业付款到银行卡、RSA加密处理
- C#读取ImageList中的图片.rar
- WinForm复制粘贴图片
- C# SHA1withRsa的各种操作
- C# SHA1withRsa签名函数,加解密 封装类
- 基于RSA算法的数字签名系统 C#实现
- 用C#实现RSA的加密与解密
- 基于C#的rs232发送和接收数据
- RSA文件加解密C#源代码
- 异步串行串口通讯C#RS232
- 新浪新闻RSS阅读器C#版
- 基于RSA加密的点对点聊天程序 C#
- C#chart控件游标跟随鼠标移动
- C#实现字符串RSA加密与解密 算法工程
- 服务端获取DTU GPRS数据C#
- Head First C#(第二版)中文版
- C# SHA1withRsa签名函数,加解密
- WPF自定义鼠标形状 自定义鼠标
- WPF 自定义图片剪切器 - 头像剪切
- InTheHand.Net.Personal.dll173488
- tcp实验报告
评论
共有 条评论