遙感圖像處理——基於IDL程序設計

張誌華 等

  • 出版商: 電子工業
  • 出版日期: 2026-04-01
  • 售價: $479
  • 語言: 簡體中文
  • 頁數: 356
  • ISBN: 7121526174
  • ISBN-13: 9787121526176
  • 相關分類: 地理資訊系統 Gis
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

遙感圖像處理軟件ENVI是一款廣泛應用於地理、遙感、測繪、環境等領域的專業影像處理軟件,而ENVI軟件是由IDL語言編程實現的。本書主要介紹了IDL的編程環境、語法結構、輸入輸出、界面創建與事件處理、圖像處理等內容,並利用IDL對ENVI的二次開發進行實例講解。本書可供地理信息科學、遙感科學與技術、資源環境科學等相關專業學生使用,也可作為從事遙感圖像處理研究的科研人員、工程技術人員的參考用書。

目錄大綱

目 錄
第1章 IDL綜述 1
1.1 IDL的背景 1
1.2 IDL功能概述 3
1.3 IDL的優勢 4
1.4 可利用資源 5
作業及思考題 5
第2章 IDL的使用 6
2.1 工作臺入門 6
2.1.1 啟動工作臺 6
2.1.2 Workspace(工作空間) 7
2.1.3 Project(工程) 8
2.1.4 File(文件) 9
2.1.5 View(查看器) 12
2.1.6 IDL控制臺 12
2.1.7 斷點及調試 13
2.1.8 IDL的路徑管理 14
2.2 獲取幫助 15
2.2.1 函數幫助 15
2.2.2 幫助啟動 15
2.3 編寫IDL程序 18
2.3.1 命令行模式 18
2.3.2 批處理模式 19
2.3.3 編譯模式 20
2.3.4 IDL程序 20
2.3.5 過程和函數的區別 21
作業及思考題 21
第3章 IDL的基礎語法 22
3.1 變量 22
3.1.1 局部變量 22
3.1.2 系統變量 26
3.2 數組 28
3.2.1 概述 28
3.2.2 創建數組 28
3.2.3 數組的存儲 30
3.2.4 使用數組 31
3.2.5 運算 32
3.3 字符及字符串 43
3.3.1 創建字符串和字符串數組 43
3.3.2 特殊字符 43
3.3.3 部分字符操作函數 44
3.4 結構體 45
3.4.1 概述 45
3.4.2 創建結構體 45
3.4.3 訪問結構體 46
3.4.4 結構體操作相關函數 46
3.5 指針 47
3.5.1 概述 47
3.5.2 創建和訪問指針 47
3.5.3 空指針 47
3.5.4 指針的內存控制 48
3.5.5 指針操作函數 48
3.6 對象 49
3.6.1 概述 49
3.6.2 對象創建 49
3.6.3 對象使用 49
3.6.4 對象銷毀 50
3.6.5 相關函數 50
3.7 鏈表 51
3.7.1 概述 51
3.7.2 鏈表創建 51
3.7.3 鏈表訪問 51
3.7.4 鏈表銷毀 52
3.8 哈希表 52
3.8.1 概述 52
3.8.2 哈希表創建 52
3.8.3 哈希表訪問 53
3.8.4 哈希表元素添加 53
3.8.5 哈希表銷毀 53
3.9 運算符 53
3.9.1 算術運算符 53
3.9.2 邏輯運算符 54
3.9.3 位運算符 55
3.9.4 關系運算符 56
3.9.5 數組運算符 57
3.9.6 其他運算符 58
3.9.7 運算符的優先級 58
3.10 其他符號 59
作業及思考題 60
第4章 IDL編程基礎 65
4.1 程序控制 65
4.1.1 循環語句 65
4.1.2 條件語句 66
4.1.3 跳轉語句 68
4.2 位置參數及關鍵字參數 68
4.2.1 位置參數 68
4.2.2 關鍵字參數 69
4.2.3 參數繼承 69
4.2.4 參數傳遞機制 70
4.2.5 參數相關函數 71
4.3 錯誤處理 71
4.3.1 錯誤處理流程 72
4.3.2 數學錯誤 72
4.4 調用執行方式 73
4.5 編譯規則 73
4.6 IDL高效編程 74
4.6.1 優化運行時間 74
4.6.2 圖像操作優化 75
4.6.3 空間優化 80
4.6.4 程序分析 81
作業及思考題 82
第5章 圖像的輸入輸出 85
5.1 標準輸入輸出 85
5.1.1 輸入輸出函數 85
5.1.2 格式化輸出 85
5.2 文件讀寫 92
5.2.1 打開文件 92
5.2.2 讀寫ASCII碼文件 93
5.2.3 讀寫二進制文件 99
5.2.4 讀寫圖像格式文件 104
5.2.5 圖像文件信息查詢 105
5.2.6 JPEG文件操作 105
5.2.7 BMP文件操作 108
5.2.8 TIFF文件操作 109
5.3 科學數據集 111
5.4 視頻文件讀寫 114
作業及思考題 116
第6章 IDL界面創建與事件處理 118
6.1 界面創建 118
6.1.1 單元組件界面 118
6.1.2 復合界面 129
6.1.3 對話框界面 130
6.1.4 功能界面 132
6.2 界面的控制 133
6.2.1 WIDGET_CONTROL 133
6.2.2 WIDGET_INFO 134
6.3 事件處理 135
6.3.1 事件的結構 135
6.3.2 事件的“管家” 136
6.3.3 事件的處理 137
作業及思考題 149
第7章 直接圖形法 150
7.1 概述 150
7.2 圖形顯示設備 150
7.3 顯示模式 150
7.3.1 8位顯示模式 150
7.3.2 24位顯示模式 152
7.4 顯示區域 154
7.5 系統的字體 155
7.5.1 矢量字體 155
7.5.2 設備字體 156
7.5.3 TrueType字體 159
7.6 圖形圖像顯示 160
7.6.1 顯示窗口 160
7.6.2 繪制曲線 162
7.6.3 顯示圖像 171
7.6.4 繪制曲面 173
7.6.5 相關函數參考 176
7.6.6 體數據顯示 177
7.7 地圖投影 177
7.7.1 功能描述 178
7.7.2 舉例 178
7.7.3 顯示投影 179
7.7.4 投影轉換 179
作業及思考題 180
第8章 IDL圖像處理 182
8.1 圖像裁剪 182
8.2 圖像尺寸的修改 183
8.3 圖像的位置變換 183
8.4 紋理貼圖 192
8.4.1 DEM疊加紋理 192
8.4.2 球體紋理貼圖 193
8.5 掩膜與透明 195
8.5.1 掩膜 195
8.5.2 透明 197
8.6 圖像的增強和濾波 199
8.6.1 圖像增強 199
8.6.2 濾波 201
8.7 圖像平滑 205
8.7.1 均值平滑 205
8.7.2 中值平滑 206
8.8 圖像邊界檢測 207
8.9 圖像形態學處理 208
8.9.1 腐蝕和膨脹 208
8.9.2 開運算 209
8.9.3 閉運算 210
8.9.4 峰值檢測 211
8.9.5 分水嶺邊界檢測 212
8.9.6 圖像識別 213
8.9.7 圖像的梯度邊界檢測 215
8.9.8 圖像細化 215
8.9.9 圖像分割 217
作業及思考題 218
第9章 IDL對象圖形法 220
9.1 對象層次結構 220
9.2 對象基本操作 221
9.2.1 創建對象 221
9.2.2 方法調用 221
9.2.3 對象屬性修改 221
9.2.4 銷毀對象 222
9.2.5 對象比較 222
9.2.6 對象相關函數 223
9.3 IDL圖形基本對象 223
9.3.1 IDLgrWindow對象 223
9.3.2 IDLgrView對象 226
9.3.3 IDLgrScene對象 230
9.3.4 IDLgrModel對象 231
9.3.5 圖形原子對象 233
9.4 二維圖形顯示 234
9.4.1 線對象 234
9.4.2 多邊形 236
9.4.3 文本 239
9.4.4 坐標軸 243
9.4.5 圖像對象 244
9.4.6 顏色顯示 246
9.4.7 坐標系 247
9.4.8 曲線 249
9.5 三維圖形顯示 249
9.6 坐標統一 251
9.7 對象的交互操作 251
9.8 編寫類 263
9.8.1 編寫新對象類 263
9.8.2 編寫繼承類 266
9.9 地圖投影 269
作業及思考題 269
第10章 快速可視化 271
10.1 概述 271
10.2 可視化函數 271
10.3 應用舉例 271
10.3.1 曲線繪制 271
10.3.2 地圖顯示 272
10.3.3 曲面顯示 272
10.3.4 等值線顯示 272
10.3.5 球狀圖顯示 273
10.3.6 柱狀圖顯示 273
10.3.7 散點圖顯示 274
10.3.8 流型線圖顯示 275
10.3.9 圖像顯示 275
10.4 控制與參數 276
10.4.1 位置移動 277
10.4.2 顏色設置 277
10.4.3 坐標軸 278
10.4.4 標題 278
10.4.5 標註 279
10.4.6 圖例 283
10.4.7 多圖繪制 284
10.4.8 圖像保存 284
10.5 事件控制與處理 285
作業及思考題 287
第11章 智能化工具(iTools) 289
11.1 iTools概述 289
11.2 iTools的使用 289
11.2.1 關鍵字 289
11.2.2 數據導入和導出 291
11.2.3 數據和對象屬性的查看 294
11.2.4 顯示操作 295
11.2.5 添加標註 295
11.2.6 公共操作 296
11.3 iPlot使用 296
11.4 iContour使用 297
11.5 iImage使用 300
11.6 iMap使用 304
11.7 iSurface使用 306
11.7.1 命令行下啟動iSurface 306
11.7.2 iSurface導入數據 307
11.8 iVolume使用 308
11.9 iVector使用 308
11.10 開發 309
作業及思考題 310
第12章 IDL的部署與發布 311
12.1 IDL的部署 311
12.1.1 Runtime許可發布 311
12.1.2 虛擬機免費發布 311
12.2 IDL的發布 311
12.2.1 sav文件 311
12.2.2 運行sav文件 315
12.3 exe文件 317
12.3.1 IDL程序 317
12.3.2 ENVI二次開發程序 319
作業及思考題 320
第13章 ENVI功能擴展與二次開發 321
13.1 ENVI波段和波譜運算 321
13.1.1 波段運算 321
13.1.2 數學表達式 322
13.1.3 波段運算函數 322
13.1.4 波譜運算 324
13.1.5 ENVI波段運算和波譜運算的示例 324
13.2 自定義函數 325
13.2.1 用戶函數 325
13.2.2 ENVI菜單 325
13.3 ENVI組件 327
13.3.1 界面控制 327
13.3.2 示例 328
13.3.3 錯誤處理 329
13.4 擴展與應用 330
13.4.1 曲線繪制函數 330
13.4.2 光譜分析函數 330
13.4.3 自定義投影類型 331
13.4.4 RPC參數讀取 334
13.4.5 鼠標移動響應程序 336
13.4.6 文件格式讀取 338
13.5 ENVI Classic二次開發 340
13.5.1 二次開發模式 340
13.5.2 常用關鍵字及函數 340
13.5.3 文件處理函數 341
13.5.4 打開文件函數 342
13.5.5 獲取數據函數 342
13.5.6 感興趣區函數 342
13.5.7 數據保存函數 342
作業及思考題 344
參考文獻 346