12

C、C++、Java などのコンピュータ言語を使用して、衛星画像を解析して、降雨エリア、水域などの湿潤景観、森林地帯、荒れ地などを見つけることはできますか? この中でどれが一番いいですか?複雑ですか?

高度な C、C++、Java バージョンを使用してこのプロジェクトを実行する他のオプションはありますか? これらの言語には、MATLAB、LABVIEW などのツールを使用せずにピクセル値を読み取る特別な機能はありますか?

4

4 に答える 4

6

代替テキスト http://xs.to/thumb-1F0D_4B62DE2C.jpg代替テキスト http://xs.to/thumb-0C7F_4B62DFCB.jpg

私の記憶が正しければ、書籍「Digital Image Processing 3rd Edition」に陸塊解析に関するセクションがあります。こちらからダウンロードできる「Digital Image Processing in C」もチェックしてください。

IIRCとこの NASA のページは を確認しているようで、私は物理学者ではありません。完全な (目に見えるだけでなく) 電磁スペクトルを含む衛星画像が必要になります。これにより、水、植物などを選択できます。

Landsat 7 の画像はカラー合成であり、3 原色を Enhanced Thematic Mapper (ETM+) センサーの 3 つのバンドに割り当てることによって作成されます。これらの画像はカラー写真ではなく、「偽色」画像です (緑色のフィールドが画像で緑色に見えるとは限りません)。

ランドサット バンドは次のことに役立ちます。

1 沿岸水域マッピング、土壌/植生識別、森林分類、人工地物識別
2 植生識別および健康モニタリング、人工地物識別
3 植物種識別、人工地物識別
4 土壌水分モニタリング、植生モニタリング、水域識別
5 植生水分含有量モニタリング
6 表面温度、植生ストレスモニタリング、土壌水分モニタリング、雲の区別、火山モニタリング
7 鉱物と岩石の識別、植生水分含有量

詳細については、次を参照してください: Lillesand, T. and Kiefer, R., 1994. Remote Sensing and Image Interpretation. John Wiley and Sons, Inc.、ニューヨーク、p. 468。

また、画像の 3D レリーフを作成し、スペクトル データを谷、河川地点、沿岸地域などと関連付けてみることもできます。要は画像解析で推計するデータがある

于 2010-01-29T13:10:37.930 に答える
3

テクスチャ オペレータは、衛星画像の地理的領域を区別できます。これは、水域、草地、大都市圏などを識別するための古典的なテクスチャ演算子について説明している Robert Haralickの論文です。

私はオープン ソースのOrfeoツールボックスである程度の成功を収めました。これはITKに基づく C++ 画像処理ライブラリですが、衛星画像専用です。こちらのドキュメントで、テクスチャ オペレータの実装例をいくつか見ることができます。

プレテクスチャ ポストテクスチャ

于 2011-12-12T16:01:01.447 に答える
1

私の経験では、言語はよりユーザーフレンドリーであり、リモートで感知されたデータを処理するためのPythonモジュールが増えているため、これにはpythonをお勧めします。さらに、pythonはオープンソースなのでMATLABなどを避けることができます。

RSGISLib ソフトウェアには Python バインディングがあり、リモート センシング データの処理に最適です。私は博士課程全体を通してそれを完全に使用しました。このソフトウェアはhttp://www.rsgislib.orgで見つけることができ、そのアプリケーションを紹介する素晴らしいブログはhttps://spectraldifferences.wordpress.comで見つけることができます。

私は地理学のバックグラウンドを持っていますが、Python を簡単に使用することができました。私の意見では、C++ や Java などはより複雑です。Python には、トリッキーな部分 (画像へのアクセス、投影のチェックなど) を行うモジュールが含まれていることが多いためです。

于 2015-11-19T12:10:22.363 に答える
0

パニワニの答えは、テクスチャ分析を示唆している限り、良いスタートです。Imagemagick がテクスチャ分析に使用されることはあまりありませんが、そのための可能なツールであることは間違いありません。これをチェックしてください:

$ cat get_images.sh 
#!/bin/bash

base_url='http://maps.googleapis.com/maps/api/staticmap?center='
other_params='&zoom=12&size=400x400&maptype=satellite&sensor=false'

curl -o desert1.png   "$base_url"'41.660000,112.900000'"$other_params" 2>/dev/null
curl -o desert2.png   "$base_url"'40.660000,112.900000'"$other_params" 2>/dev/null
curl -o rural1.png    "$base_url"'40.714728,-74.400000'"$other_params" 2>/dev/null
curl -o rural2.png    "$base_url"'41.714728,-74.400000'"$other_params" 2>/dev/null
curl -o suburban1.png "$base_url"'40.614728,-74.300000'"$other_params" 2>/dev/null
curl -o suburban2.png "$base_url"'40.714728,-74.200000'"$other_params" 2>/dev/null
curl -o urban1.png    "$base_url"'40.744728,-73.831672'"$other_params" 2>/dev/null
curl -o urban2.png    "$base_url"'40.754728,-73.930672'"$other_params" 2>/dev/null

echo -e "\nEntropy:"
for t in "desert1" "desert2" "rural1" "rural2" "suburban1" "suburban2" "urban1" "urban2"; do 
  echo -e "  " $t "\t" `./entropy "$t".png | grep Aver | sed -e 's/.*= //'`
done

echo -e "\nStd Dev:"
for t in "desert1" "desert2" "rural1" "rural2" "suburban1" "suburban2" "urban1" "urban2"; do 
  echo -e "  " $t "\t" `convert "$t".png -format '%[fx:standard_deviation]' info:`
done

echo -e "\nRatio of hi freq to low freq:"
for t in "desert1" "desert2" "rural1" "rural2" "suburban1" "suburban2" "urban1" "urban2"; do 
  convert "$t".png -fft +depth +adjoin "$t"_fft_%d.png
  convert "$t"_fft_1.png -fill none -stroke black -strokewidth 100 -draw "rectangle 50,50,350,350" "$t"_fft_1b.png
  convert "$t"_fft_1.png -fill none -stroke black -strokewidth 100 -draw "rectangle 150,150,250,250" "$t"_fft_1c.png
  lo=`./entropy "$t"_fft_1b.png | grep Average | sed -e 's/.*= //'`
  hi=`./entropy "$t"_fft_1c.png | grep Average | sed -e 's/.*= //'`
  echo -e "  " $t "\t" `echo "scale=8; $lo / $hi" | bc`
done

$ ./get_images.sh 

Entropy:
   desert1   0.557244
   desert2   0.586651
   rural1    0.652486
   rural2    0.709812
   suburban1 0.69883
   suburban2 0.727527
   urban1    0.746479
   urban2    0.765279

Std Dev:
   desert1   0.0756219
   desert2   0.0881424
   rural1    0.107279
   rural2    0.140878
   suburban1 0.125647
   suburban2 0.143765
   urban1    0.150628
   urban2    0.185245

Ratio of hi freq to low freq:
   desert1    .41319501
   desert2    .41337079
   rural1     .41333309
   rural2     .41335422
   suburban1  .41326120
   suburban2  .41339882
   urban1     .41327271
   urban2     .41326168

これら 3 つの異なるメトリック (画像エントロピー、画像標準偏差、画像内の高周波数コンテンツと低周波数コンテンツの比率) はそれぞれ、砂漠から農村、郊外から都市へのスペクトルと適切に相関しています。これらを分類器 (ニューラル ネットワークなど) に入れれば、Google マップの衛星画像が砂漠、田園地帯、郊外、都市部のいずれであるかを適切に予測できると思います。

于 2012-12-13T04:07:57.720 に答える