Sa ido kan muhalli, aikin gona, tsara birane, kula da bala'o'i, da nazarin sauyin yanayi duk sun amfana daga nazarin hotunan tauraron dan adam.
Za mu iya samun mahimman bayanai game da halaye, canje-canje, da yanayin duniyarmu ta hanyar yin amfani da ɗimbin adadin bayanan da tauraron dan adam masu kallon Duniya ya rubuta.
Python, harshe mai ƙarfi kuma mai ƙarfi na shirye-shirye, yana ba da ɗimbin yanayin yanayin ɗakunan karatu da kayan aiki don saurin sarrafa hotunan tauraron dan adam mai inganci.
Yin amfani da nazarin hotunan tauraron dan adam yana buɗe duniya na yiwuwa. Yana ba mu damar fitar da bayanai masu amfani daga hotunan tauraron dan adam, kamar rarraba murfin ƙasa, kimanta lafiyar ciyayi, bin diddigin faɗaɗa birane, da taswirar bakin teku.
Za mu iya sauƙaƙe, nunawa, da kuma nazarin hotunan tauraron dan adam ta hanyar amfani da iyawar Python da kayayyaki kamar su rasterio, numpy, da matplotlib.
Ɗaya daga cikin fa'idodin farko na amfani da Python don nazarin hotunan tauraron dan adam shine faffadan kewayon na'urorin sarrafa bayanai na geospatial.
Rastero, alal misali, yana da sauƙi mai sauƙi don karantawa da gyaggyara bayanan raster, yana mai da shi dacewa don aiki tare da fayilolin hoton tauraron dan adam.
Ƙididdiga na numpy yana ba da ƙayyadaddun ayyuka na tsararru don yin lissafin sauri da ƙididdiga akan bayanan hoto. Matplotlib kuma yana ba mu damar samar da abubuwan gani masu dacewa don taimakawa cikin fassarar da sadarwar sakamakon bincike.
A cikin sassan da ke gaba, za mu kalli ainihin misalai da snippets code don nuna yadda za a iya amfani da Python don tantance hotunan tauraron dan adam.
Za mu tafi kan yadda ake buɗe hotunan tauraron dan adam, duba bayanan hoto, cire metadata, ƙididdige ƙididdiga na band, da gudanar da bincike na musamman kamar Indexididdigar Bambancin ciyayi (NDVI).
Waɗannan misalan za su taimaka muku farawa a cikin jigo mai ban sha'awa na nazarin hotunan tauraron dan adam tare da Python.
Da farko, muna buƙatar shigo da wasu ɗakunan karatu don taimaka mana kan aikinmu.
import rasterio
import matplotlib.pyplot as plt
import numpy as np
1. Kallon gani da Buɗe Hoton Tauraron Dan Adam
Za mu ɗakin karatu na Rastero a wannan sashe don samun damar hoton tauraron dan adam wanda hanyar tauraron dan adam_image_path ya kawo.
Ana buɗe fayil ɗin hoton ta amfani da hanyar rastero.open(), kuma abin da ya haifar, tauraron dan adam_image, yana wakiltar hoton da aka buɗe.
Don wannan aikin, na yi amfani da hoton daga wannan hanyar haɗin yanar gizon: https://unsplash.com/photos/JiuVoQd-ZLk kuma na ajiye shi a kwamfuta ta a matsayin "satellite.jpg".
# Open the satellite image using rasterio
satellite_image_path = 'satellite.jpg'
satellite_image = rasterio.open(satellite_image_path)
Bayan buɗe hoton, mun karanta shi azaman tsararru ta amfani da aikin karantawa na abu na tauraron dan adam_image. Ana adana ƙimar pixel na kowane band na hotunan tauraron dan adam a cikin jerin hoto.
# Read the image as an array
image_array = satellite_image.read()
Don tantance hoton tauraron dan adam na gani, muna amfani da kayan aiki na matplotlib.pyplot don samar da adadi mai girman inci 10 × 10.
Ana nuna tsararrun hoto ta amfani da hanyar imshow(). Ana amfani da aikin transpose(1, 2, 0) don sake tsara girman tsararrun hoton don dacewa da tsari da imshow().
A ƙarshe, axis ('kashe') yana ɓoye alamun axis, yana ba da cikakkiyar ra'ayi na hoton tauraron dan adam.
# Visualize the image
plt.figure(figsize=(10, 10))
plt.imshow(image_array.transpose(1, 2, 0))
plt.axis('off')
plt.show()
2. Haɓakar Metadata
Muna fitar da mahimman bayanan metadata game da hoton tauraron dan adam bayan buɗewa da nuna shi. Wannan bayanin yana taimaka mana wajen fahimtar halayen hoton kuma yana ba da mahallin bincike na gaba.
image_width = satellite_image.width
image_height = satellite_image.height
image_crs = satellite_image.crs
image_count = satellite_image.count
print("Image Width:", image_width)
print("Image Height:", image_height)
print("Coordinate Reference System:", image_crs)
print("Number of Bands:", image_count)
Yin amfani da faɗin da tsayin halayen abin tauraron dan adam_image, muna cire faɗin hoton da tsayi. Ana amfani da kadarorin crs don dawo da tsarin haɗin gwiwar hoton (CRS).
CRS tana ba da bayanai akan tsarin tunani na hoton, yana ba mu damar daidaita haɗin hotuna zuwa wurare na zahiri.
A ƙarshe, muna amfani da sifa mai ƙidayar abin tauraron dan adam_image don ƙididdige adadin makada a cikin hoton. Wannan bayanan yana da mahimmanci don bincike na gaba saboda yana ba mu damar samun ƙimar pixel ga kowane rukuni a cikin tsararrun hoto.
3. Ƙididdigar Ƙididdiga na Ƙungiya
Muna ƙididdige ƙididdiga ga kowane makada a cikin tsararrun hoto a wannan ɓangaren. Madauki yana jujjuya kowane rukuni, kuma ana amfani da min, max, ma'ana, da ayyukan std na labura don ƙididdige waɗannan ƙididdiga.
Jerin ƙamus yana adana ƙididdiga na kowane rukuni.
band_stats = []
for band in range(image_count):
band_data = image_array[band]
band_min = np.min(band_data)
band_max = np.max(band_data)
band_mean = np.mean(band_data)
band_std = np.std(band_data)
band_stats.append({'Band': band+1, 'Min': band_min, 'Max': band_max, 'Mean': band_mean, 'Std': band_std})
print("Band Statistics:")
for stats in band_stats:
print(stats)
Madauki yana zagayawa a ko'ina cikin kowace ƙungiya, tare da madaidaicin band ɗin da ke wakiltar fihirisar band. Yin amfani da image_array[band], muna fitar da ƙimar pixel daga tsarar hoto na kowane rukuni.
Bayan haka, don rukunin na yanzu, np.min (), np.max (), np.mean (), da np.std () ayyuka ana amfani da su don ƙayyade mafi ƙanƙanta, matsakaicin, ma'ana, da daidaitaccen karkacewar pixel. dabi'u.
Ana adana bayanan ƙididdiga na kowane ƙungiya a cikin ƙamus tare da maɓallai kamar 'Band,' 'Min,' 'Max,' 'Ma'ana,' da 'Std. Kowane ƙamus yana haɗe zuwa jerin ƙididdiga na ƙungiyar. A ƙarshe, ana buga bayanan kowane rukuni zuwa na'ura mai kwakwalwa.
4. Ƙididdigar NDVI (Ƙa'idar Bambancin Tsirrai).
NDVI sanannen ma'auni ne don auna lafiyar tsirrai. A cikin wannan sashe, muna bincika don ganin ko hoton ya ƙunshi aƙalla makada huɗu, waɗanda ake buƙata don lissafin NDVI.
red_band = None
nir_band = None
if image_count >= 4:
red_band = image_array[2] # assuming red band is at index 2
nir_band = image_array[3] # assuming near-infrared band is at index 3
if red_band is not None and nir_band is not None:
ndvi = (nir_band - red_band) / (nir_band + red_band)
# Visualize the NDVI
plt.figure(figsize=(10, 10))
plt.imshow(ndvi, cmap='RdYlGn')
plt.colorbar(label='NDVI')
plt.title('Normalized Difference Vegetation Index (NDVI)')
plt.axis('off')
plt.show()
else:
print("Error: The satellite image does not have the required bands for NDVI calculation.")
Don farawa, mun saita masu canji na red_band da nir_band zuwa Babu. Ana amfani da m image_count don tantance ko hoton ya ƙunshi aƙalla makada huɗu.
Idan haka ne, muna ganin jan band ɗin shine index 2 kuma ƙungiyar kusa-infrared (NIR) ita ce index 3. Ƙungiyoyin da suka dace daga tsarar hoto an sanya su zuwa masu canji red_band da nir_band.
Idan duka nau'ikan ja da NIR suna iya samun dama, ana ƙididdige NDVI ta amfani da dabara (NIR – Red) / (NIR + Red). Lambobin NDVI da suka haifar suna nuna fihirisar ciyayi ga kowane pixel a cikin hoton.
Muna ganin NDVI ta hanyar ƙirƙirar sabon adadi da kuma nuna tsarin NDVI ta amfani da imshow (). Hanyar launi () tana ƙara ma'aunin launi zuwa maƙalar, yana ba NDVI ƙimanta abin tunani na gani.
Don mayar da hankali gabaɗaya kan nunin NDVI, muna kuma ƙididdige taken taken don shirin kuma mu cire alamun axis tare da axis('kashe'). A ƙarshe, ana nuna shirin tare da pt.show().
Ana rubuta saƙon kuskure zuwa na'ura wasan bidiyo idan hoton ya rasa maƙallan da ake buƙata don ƙididdige NDVI (watau ƙasa da makada huɗu).
5. Kawo Hoton Tauraron Dan Adam Kusa
Zai fi kyau a yi amfani da aikin kusa () don rufe fayil ɗin hoton tauraron dan adam bayan gudanar da bincike da kallo. Wannan yana 'yantar duk wani albarkatun tsarin da ke da alaƙa da fayil ɗin hoto.
satellite_image.close()
Ga mafitata:
Shi ke nan!
Final Notes
Matsayin Python wajen taimakawa nazarin waɗannan manyan bayanai na ƙara zama mahimmanci yayin da samuwa da ƙudurin hotunan tauraron dan adam ke ƙaruwa.
Ƙarfin yin amfani da Python don samun dama, sarrafawa, nazari, da kuma nuna hotunan tauraron dan adam yana ba da hanya don aikace-aikacen ƙirƙira da basirar da za su iya haifar da canji mai kyau da kuma ilimin duniyarmu.
Ka tuna don bincika babban zaɓi na albarkatu, koyawa, da dakunan karatu da ke akwai don haɓaka ilimin ku da iyawar ku yayin da kuke ci gaba da faɗuwar ku a cikin binciken hotunan tauraron dan adam ta amfani da Python.
Ci gaba da kasancewa da sha'awa, bincike, da amfani da iyawar Python don fallasa asirin da aka binne a cikin hotunan tauraron dan adam.
Leave a Reply