NDVI 是什麼?植生指標的意義、數值與計算公式
發布於
NDVI(常態化差異植生指標,Normalized Difference Vegetation Index)是介於 −1 到 +1 的數值,用來表示衛星影像中一個像素含有多少健康的綠色植被。它比較地表反射的兩種光:人眼看不見的近紅外光,以及紅光。NDVI = (NIR − Red) / (NIR + Red)。茂密的農作物與森林約為 0.6 至 0.9,裸露土壤約為 0.1,水體則低於 0。


NDVI 是最常用的植生指標,因為幾乎所有衛星和許多無人機相機都會記錄這兩種光,而且每個像素只有一個數值,容易繪製成地圖,也方便比較不同時間。農民用它找出田裡生長較差的區塊,林業人員用它追蹤乾旱,都市規劃者用它衡量城市有多綠。您可以在 QGIS 中免費計算,幾分鐘就能完成,步驟在下方;也可以請我們開發的 QGIS 外掛 AI Agent,用一句話幫您完成。
NDVI 的原理
植物會吸收紅光,並反射近紅外光。健康的葉片為了生長,會吸收大部分的紅光,並把大部分的近紅外光反射回去。NASA Earthdata 指出,植物遇到乾旱或病害時,會反射較多紅光、較少近紅外光,兩者的差距因此縮小。

NDVI 把這個差距換成一個數值:
NDVI = (NIR − Red) / (NIR + Red)
以一塊健康的小麥田為例,它反射 40% 的近紅外光與 4% 的紅光:(0.40 − 0.04) / (0.40 + 0.04) = 0.82。裸土可能反射 28% 與 20%:(0.28 − 0.20) / (0.28 + 0.20) = 0.17。除以兩者的總和,就是所謂的「常態化」:同一塊田在陰影下與在大太陽下,算出來的數值會很接近。
研究人員最早在 1974 年把它用在衛星影像上,利用第一顆 Landsat 衛星觀測美國大平原的農作物。
NDVI 數值代表什麼
美國地質調查局(USGS)給出的範圍,是多數資料來源引用的標準。請把它當作經驗法則:
| NDVI | 通常是什麼 |
|---|---|
| 小於 0 | 水體、雲、雪 |
| 0 至 0.1 | 裸露岩石、沙地、裸土、建成區 |
| 0.2 至 0.5 | 稀疏植被:草地、灌木、幼苗期或成熟期的作物 |
| 0.6 至 0.9 | 茂密植被:森林、生長高峰期的作物 |
依 USGS 的說法,不毛之地為「0.1 或更低」,稀疏植被「約 0.2 至 0.5」,茂密植被「約 0.6 至 0.9」。同一塊田在一年內會經歷這三種狀態,下一節會說明。
一整季的 NDVI 實測
NDVI 的數值必須搭配日期才有意義。為了說明這一點,我用一整年的 Sentinel-2 衛星影像,追蹤了印度旁遮普的一塊農田。同一塊田在6 月初讀到 0.06,9 月初讀到 0.92:在同一塊土地上,從裸土變成茂密的作物。

曲線跟著農事曆走:小麥在冬季生長,2 月前後達到高峰,4 月收割後田地裸露,稻米則在 6 月下旬插秧,8 月到 9 月達到高峰。附近的城鎮全年都在 0.05 到 0.17 之間。所以「0.2」可能是幼苗期的作物、收割後的田,也可能是一個村落,要看是哪個月份。
**我們如何測量。**我使用了 2025 年 9 月 26 日至 2026 年 9 月 26 日之間該地區全部 87 幅 Sentinel-2 影像,並在讀取任何數值之前就選好取樣點。每個取樣點取 3 × 3 個 10 m 像素的平均值,只有該日期上空沒有雲與雲影時才計入:這塊田共有 60 個日期。

各衛星該用哪些波段
公式永遠不變,但每顆衛星對波段(它所記錄的各種光色)的編號不同。把波段搞混,是最常見的新手錯誤。
| 資料來源 | 紅光波段 | 近紅外光波段 | 像素大小 | 重訪週期 |
|---|---|---|---|---|
| Sentinel-2(ESA) | B4,665 nm | B8,842 nm | 10 m | 5 天或更短 |
| Landsat 8 與 9(USGS) | 波段 4 | 波段 5 | 30 m | 合計 8 天 |
| Landsat 4 至 7 | 波段 3 | 波段 4 | 30 m | 檔案可回溯至 1982 年 |
| MODIS(NASA) | 現成的 NDVI 產品 MOD13Q1 | 250 m | 16 天合成 | |
| 多光譜無人機相機 | 紅光波段 | NIR 波段 | 數公分 | 每次飛行時 |
Sentinel-2 是農田與農場的預設選擇:免費、10 m 像素、每隔幾天就有新影像。若要回溯到 2015 年以前,請用 Landsat;若要每兩週涵蓋整個國家,則用 MODIS。一般的無人機相機無法計算 NDVI,因為它不記錄近紅外光。如何尋找並串流這些影像,請見如何在 QGIS 下載 Sentinel-2。
悄悄拉低 NDVI 的 Sentinel-2 偏移量
自 2022 年 1 月 25 日起,Sentinel-2 檔案的每個值都加上了 1,000。ESA 的資料品質報告要求把它減回去:反射率(反射回來的光所占比例)= (值 − 1000) / 10000。經典教學中的公式 (B8 − B4) / (B8 + B4) 直接套用在原始值上,少了這一步,結果就會偏低。
誤差最大的地方,正好是最重要的健康作物:
| 地表 | 正確的 NDVI | 忘了減 1,000 的 NDVI | 誤差 |
|---|---|---|---|
| 茂密作物 | 0.82 | 0.56 | −0.26 |
| 裸土 | 0.17 | 0.12 | −0.05 |
健康的作物會從「茂密」掉到「稀疏」的區間。在我們的哈里克影像上,如果忘了偏移量,高於 0.6 的面積比例會從 73% 掉到 14%。我們檢查的九篇 QGIS NDVI 教學,沒有一篇提到這一點。
有些資料來源已經幫您去除了偏移量,所以減之前要先確認。用識別工具點一個像素:數值在數千的是原始值,介於 0 到 1 左右的已經是反射率。
NDVI 的限制
NDVI 衡量的是綠度,而綠度不等於健康。實際專案中常遇到四個限制:
- **會飽和。**在非常茂密的植被上,NDVI 會停在 0.85 到 0.9 左右,分不出茂盛與非常茂盛的差別。
- **土壤顏色會干擾。**植物稀疏的地方,深色與淺色土壤會讓同樣的植物算出不同的數值。
- **雲會造成假象。**薄雲會拉低 NDVI,所以計算平均之前要先去除有雲的像素。
- **衛星之間略有差異。**Sentinel-2 與 Landsat 對同一塊田的數值接近,但不完全相同。
遇到這些限制時,換一種指標會更合適:
| 指標 | 適用時機 |
|---|---|
| EVI | 植被非常茂密,例如熱帶森林,NDVI 已不再上升 |
| SAVI | 植物稀疏、露出大量土壤,例如幼苗期作物或乾旱地區 |
| NDRE | 在生長季後期追蹤作物氮素(需要紅邊波段,Sentinel-2 有) |
| NDWI | 您想繪製的是水體,而不是植物 |
如何在 QGIS 計算 NDVI
載入紅光與近紅外光波段
以 Sentinel-2 為例,載入 B04(紅光)與 B08(近紅外光)波段,下載或串流的方式請見 Sentinel-2 指南。用識別工具點一個像素:數值在數千的是原始值,介於 0 到 1 的已經校正過。
開啟網格計算器
「影像」→「網格計算器…」。用您的圖層名稱輸入公式。在反射率上:("B08@1" - "B04@1") / ("B08@1" + "B04@1")。若是 2022 年起的原始值,請先把每個波段減去 1,000:(("B08@1" - 1000) - ("B04@1" - 1000)) / (("B08@1" - 1000) + ("B04@1" - 1000))。範圍請設為您的研究區域,不要用整個圖幅。
設定結果的樣式
開啟圖層的屬性,進入「符號學」,轉譯類型選「單頻偽彩色」,色彩漸層選紅黃綠,範圍從 −0.2 到 0.9。水體會變成紅褐色,農田則是綠色。
依田區彙整
用您的田區多邊形執行「空間運算」→「工具箱」中的分區統計,就能得到每塊田的平均 NDVI,並存成屬性。
下圖是網格計算器,輸入的是原始 Sentinel-2 數值的公式,先把每個波段減去 1,000:

接著是結果,從紅到綠設定樣式,圖例顯示在圖層面板中:

用一句話完成
AI Agent 是我們開發的,所以這一段談的是我們自己的外掛。上面的步驟,熟悉之後大約要十分鐘。有了這個外掛,您只要輸入任務就好。我在一個使用預設設定的新專案中,送出這句話:「用最新的無雲 Sentinel-2 影像,計算旁遮普哈里克一帶農田的 NDVI,設成紅到綠的樣式,並告訴我高於 0.6 的面積占多少比例。」
它檢查了 9 月的五幅影像,跳過兩幅有雲的,選用 9 月 8 日那一幅,去除了偏移量,並在約 3 分 30 秒內給出答案:17 km² 的範圍中,有 75% 高於 0.6。它算出的 NDVI 與我手動算的逐像素相符。

它也把中間產生的工作圖層留在專案裡,還把這個範圍說成「4 km × 4 km」,實際上是 3.8 × 4.5 km。都是小事,但引用數字之前請務必檢查。
重點整理
NDVI = (NIR − Red) / (NIR + Red),數值介於 −1 到 +1。茂密的農作物與森林約為 0.6 至 0.9,裸土約為 0.1,水體低於 0。
同一塊田在一年內會走過整個刻度,所以 NDVI 的數值必須搭配日期才有意義。旁遮普的一塊田,6 月初讀到 0.06,9 月初讀到 0.92。
在 Sentinel-2 上,NDVI 使用 10 m 的 B8 與 B4。自 2022 年 1 月 25 日起,Level-2A 原始值帶有 −1000 的偏移量,若忽略它,茂密作物的 NDVI 會從 0.82 掉到 0.56。
NDVI 在茂密林冠上會飽和,也容易受土壤與雲影響。這些情況下,EVI、SAVI 與 NDRE 的表現更好。
常見問題
作物的 NDVI 多少算好?
健康的作物在生長高峰期通常是 0.6 至 0.9。生長季初期,植物只覆蓋少部分土壤時,0.2 至 0.4 屬正常。比起固定的門檻值,更好的做法是拿一塊田跟它自己在整個生長季的變化比較,或跟同一天、種同樣作物的鄰近田區比較。
NDVI 是負值代表什麼?
幾乎都是水體、雲或雪,這些地表反射的紅光比近紅外光多。清澈的開闊水域通常低於 0,但混濁或淺水區可能剛好略高於 0,所以光靠 NDVI 並不適合用來偵測水體。
Sentinel-2 的 NDVI 要用哪些波段?
B8(近紅外光,842 nm)與 B4(紅光,665 nm),解析度都是 10 m。以反射率計算:NDVI = (B8 − B4) / (B8 + B4)。若是 2022 年 1 月 25 日之後處理的 Level-2A 原始值,請先把每個波段減去 1,000 的偏移量。
NDVI 和 NDRE 有什麼差別?
NDRE 用紅邊波段取代紅光波段。在 NDVI 已經飽和的茂密林冠上,它仍會持續有反應,因此更適合用來看氮素與生長季後期的作物活力。它需要有紅邊波段的感測器,例如 Sentinel-2 或多光譜無人機相機。
一般無人機拍的照片可以算 NDVI 嗎?
不行。NDVI 需要近紅外光波段,而一般的 RGB 相機只記錄紅、綠、藍。雖然有 VARI 這類可見光指標,但它們只是較弱的替代方案。若要用無人機取得 NDVI,您需要多光譜相機。
QGIS 可以自動計算 NDVI 嗎?
QGIS 沒有一鍵計算 NDVI 的按鈕,但網格計算器只要一條公式就能算,如上所示。若想省去這些步驟,AI 代理外掛可以從一句話開始,自動找影像、計算 NDVI 並設定樣式:我們的 AI Agent 就用大約三分半鐘,完成了旁遮普一處農業區的計算。
哪裡可以免費取得 NDVI 資料?
您可以自己用 Sentinel-2(10 m)或 Landsat(30 m)計算,兩者都免費;也可以下載 NASA 現成的 MODIS NDVI(MOD13Q1,250 m,每 16 天一期)。在 QGIS 中用網格計算器,一分鐘就能從兩個波段算出來。
取得影像的方式,請見在 QGIS 下載 Sentinel-2,文中比較了四種做法,並示範如何挑選並串流影像。多光譜與高光譜的差異說明了這個指標背後的波段,QGIS 樹冠覆蓋製圖則帶您把植被從指標轉成多邊形。AI Agent 可以在 QGIS 中,用一句話跑完整個 NDVI 流程,QGIS AI 總覽則依任務列出其他 AI 外掛。
中免費計算,幾分鐘就能完成,步驟在下方;也可以請我們開發的 QGIS 外掛 

