NDVI و پهپاد کشاورزی چیست؟ (مبتدی)
NDVI (Normalized Difference Vegetation Index) یک شاخص ریاضی است که سلامت گیاه را از تصویر هوایی اندازه میگیرد. گیاهان سالم نور مادون قرمز نزدیک (NIR) را بیشتر بازتاب میدهند و نور قرمز را جذب میکنند. فرمول: NDVI = (NIR – RED) / (NIR + RED). مقدار NDVI بین -۱ تا +۱ است — بالای ۰.۶ گیاه سالم، زیر ۰.۲ خاک یا گیاه مرده.
با تبدیل دوربین ارزان به دوربین NIR (برداشتن فیلتر IR-cut داخلی و نصب فیلتر قرمز ۶۵۰nm)، میتوان NDVI را محاسبه کرد. پهپاد یک Survey Mission (مسیر موازی خودکار) پرواز میکند و تصاویر همپوشانیدار میگیرد که سپس با نرمافزار OpenDroneMap ادغام میشوند.
محصولی که میسازید
سیستم پهپاد کشاورزی با نقشه NDVI از مزرعه ۱ هکتار.
- هزینه: دوربین NIR + پهپاد موجود
- پوشش: ۱ هکتار در ۱۰ دقیقه
- نرمافزار: رایگان (OpenDroneMap)
تبدیل دوربین به NIR
// روش تبدیل دوربین ارزان (Raspberry Pi Camera v2):
// ۱. لنز و سنسور را از پشت بورد جدا کنید
// ۲. فیلتر IR-cut کوچک روی سنسور را با آرامش بردارید
// ۳. یک فیلتر قرمز (Rosco #19 یا Lee #182 Deep Orange) جلو لنز بچسبانید
// این فیلتر:
// - نور قرمز مرئی (600-700nm) را عبور میدهد
// - نور NIR (700-900nm) را عبور میدهد
// - نور آبی و سبز را میگیرد
// کانالها بعد از تبدیل:
// کانال Red = نور NIR (بعد از حذف IR-cut)
// کانال Blue = نور قرمز مرئی
// فرمول NDVI با دوربین تبدیلشده:
// NDVI = (Red - Blue) / (Red + Blue) ← تقریبی
محاسبه NDVI با Python
import numpy as np
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('farm_nir.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB).astype(float)
NIR = img[:,:,0] # کانال قرمز = NIR
RED = img[:,:,2] # کانال آبی = قرمز مرئی
# محاسبه NDVI
ndvi = (NIR - RED) / (NIR + RED + 1e-10)
ndvi = np.clip(ndvi, -1, 1)
# نمایش رنگی
plt.figure(figsize=(12,5))
plt.subplot(121); plt.imshow(img.astype(int)); plt.title('تصویر NIR')
plt.subplot(122)
plt.imshow(ndvi, cmap='RdYlGn', vmin=-0.5, vmax=1.0)
plt.colorbar(label='NDVI')
plt.title('نقشه NDVI')
plt.savefig('ndvi_map.png', dpi=150)
print(f"NDVI میانگین: {ndvi.mean():.3f}")
Survey Mission در Mission Planner
| پارامتر | مقدار پیشنهادی |
|---|---|
| ارتفاع پرواز Survey | ۵۰-۸۰ متر (GSD=3cm/px) |
| Overlap طولی | 70% |
| Overlap عرضی | 60% |
| سرعت | ۵ m/s |
| تریگر دوربین | DO_DIGICAM_CONTROL هر ۲ ثانیه |