Tha sgrùdadh àrainneachd, àiteachas, dealbhadh bailteil, riaghladh mòr-thubaistean, agus sgrùdaidhean atharrachadh clìomaid uile air buannachd fhaighinn bho mhion-sgrùdadh ìomhaighean saideal.
Is urrainn dhuinn seallaidhean cudromach fhaighinn air feartan, atharrachaidhean agus daineamaigs ar planaid le bhith a’ gabhail brath air an ìre mhòr de dhàta a chaidh a chlàradh le saidealan a tha ag amharc air an Talamh.
Tha Python, cànan prògramaidh ioma-chruthach agus làidir, a’ tabhann eag-shiostam beairteach de leabharlannan agus innealan airson giullachd ìomhaighean saideal luath is èifeachdach.
Tha cleachdadh na mion-sgrùdadh ìomhaighean saideal a’ fosgladh saoghal de chothroman. Leigidh e leinn fiosrachadh feumail a thoirt a-mach à dealbhan saideal, leithid seòrsachadh còmhdach talmhainn, measadh slàinte fàsmhorachd, cumail sùil air leudachadh bailteil, agus mapadh cladaich.
Is urrainn dhuinn ìomhaighean saideal a phròiseasadh, a thaisbeanadh agus a sgrùdadh gu furasta le bhith a’ cleachdadh sùbailteachd Python agus modalan leithid rasterio, numpy, agus matplotlib.
Is e aon de na prìomh bhuannachdan bho bhith a’ cleachdadh Python airson mion-sgrùdadh ìomhaighean saideal an raon fharsaing de mhodalan giollachd dàta geospatial aige.
Tha eadar-aghaidh sìmplidh aig Rasterio, mar eisimpleir, airson fiosrachadh raster a leughadh agus atharrachadh, ga dhèanamh freagarrach airson obrachadh le faidhlichean ìomhaighean saideal.
Bidh am modal numpy a’ toirt seachad obrachaidhean sreath sòlaimte airson a bhith a’ coileanadh àireamhachadh luath agus staitistig air dàta dhealbhan. Tha Matplotlib cuideachd a’ toirt comas dhuinn dealbhan lèirsinneach iomchaidh a ghineadh gus cuideachadh le mìneachadh agus conaltradh thoraidhean anailis.
Anns na h-earrannan a leanas, seallaidh sinn ri fìor eisimpleirean agus criomagan còd gus sealltainn mar a ghabhas Python a chleachdadh gus dealbhan saideal a sgrùdadh.
Thèid sinn thairis air mar a dh’ fhosglas sinn dealbhan saideal, a’ faicinn dàta ìomhaighean, a’ toirt a-mach meata-dàta, ag obrachadh a-mach staitistig còmhlain, agus a’ ruith mion-sgrùdadh sònraichte mar an Clàr-innse Glasraich Diofar àbhaisteach (NDVI).
Cuidichidh na h-eisimpleirean sin thu gus tòiseachadh air cuspair inntinneach mion-sgrùdadh ìomhaighean saideal le Python.
An toiseach, feumaidh sinn cuid de leabharlannan a thoirt a-steach gus ar cuideachadh leis an obair againn.
import rasterio
import matplotlib.pyplot as plt
import numpy as np
1. A 'coimhead agus a' fosgladh an ìomhaigh saideal
Nì sinn leabharlann Rasterio san roinn seo gus cothrom fhaighinn air an dealbh saideal a thug an t-saideal_image_path seachad.
Tha am faidhle ìomhaigh air fhosgladh a’ cleachdadh modh rasterio.open (), agus tha an nì a thig às, saideil_image, a’ riochdachadh an ìomhaigh fhosgailte.
Airson na h-obrach seo, chleachd mi an ìomhaigh bhon cheangal seo: https://unsplash.com/photos/JiuVoQd-ZLk agus shàbhail mi e air a’ choimpiutair agam mar “satellite.jpg”.
# Open the satellite image using rasterio
satellite_image_path = 'satellite.jpg'
satellite_image = rasterio.open(satellite_image_path)
Às deidh dhuinn an dealbh fhosgladh, leugh sinn e mar raon a’ cleachdadh gnìomh read () an rud saideal_image. Tha na luachan piogsail airson gach còmhlan de na dealbhan saideal air an stòradh san raon dhealbhan.
# Read the image as an array
image_array = satellite_image.read()
Gus measadh lèirsinneach a dhèanamh air an dealbh saideal, bidh sinn a’ cleachdadh an inneal matplotlib.pyplot gus figear 10 × 10-òirleach a ghineadh.
Tha an sreath dhealbhan air a shealltainn a’ cleachdadh an dòigh imshow(). Tha an obair tar-chuir (1, 2, 0) air a chleachdadh gus tomhasan an t-sreath dhealbhan ath-rèiteachadh gus freagairt air an òrdugh a thathar a’ sùileachadh le imshow().
Mu dheireadh, bidh axis (‘dheth’) a’ falach bileagan na h-axis, a’ toirt sealladh soilleir air an dealbh saideal.
# Visualize the image
plt.figure(figsize=(10, 10))
plt.imshow(image_array.transpose(1, 2, 0))
plt.axis('off')
plt.show()
2. Metadata Extraction
Bidh sinn a’ toirt a-mach fiosrachadh meata-dàta deatamach mun dealbh saideal às deidh dhuinn fhosgladh agus a thaisbeanadh. Bidh am fiosrachadh seo gar cuideachadh le bhith a’ tuigsinn feartan na h-ìomhaigh agus a’ tabhann co-theacs airson sgrùdadh san àm ri teachd.
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)
A’ cleachdadh buadhan leud is àirde an nì saideal_image, bheir sinn a-mach leud is àirde na h-ìomhaigh. Tha an togalach crs air a chleachdadh gus siostam iomraidh co-òrdanachaidh (CRS) na h-ìomhaigh fhaighinn air ais.
Bidh an CRS a’ toirt seachad fiosrachadh mu shiostam fiosrachaidh spàsail an deilbh, a’ leigeil leinn co-chomharran ìomhaighean a mhaidseadh ri àiteachan san t-saoghal fhìor.
Mu dheireadh, bidh sinn a’ cleachdadh feart cunntais an nì saideal_image gus an àireamh de chòmhlain san ìomhaigh obrachadh a-mach. Tha an dàta seo deatamach airson mion-sgrùdadh nas fhaide air adhart oir leigidh e leinn na luachan piogsail fhaighinn airson gach còmhlan san raon dhealbhan.
3. Àireamhachadh Staitistigean Còmhlan
Bidh sinn a’ tomhas staitistig airson gach còmhlan san raon dhealbhan sa phàirt seo. Bidh lùb ag ath-aithris thairis air gach còmhlan, agus thathas a’ cleachdadh gnìomhan min, max, mean, agus std an leabharlainn gus na h-àireamhan sin a thomhas.
Bidh liosta de dh’fhaclairean a’ stòradh staitistig airson gach còmhlan.
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)
Bidh an lùb a’ cuairteachadh thairis air gach còmhlan, leis a’ chòmhlan caochlaideach a’ riochdachadh clàr-amais a’ chòmhlain. A’ cleachdadh image_array [còmhlan], bidh sinn a’ toirt a-mach na luachan piogsail bhon raon ìomhaigh airson gach còmhlan.
An uairsin, airson a’ chòmhlain gnàthach, bithear a’ cleachdadh na gnìomhan np.min(), np.max(), np.mean(), agus np.std() gus an ìre as lugha, as àirde, mean, agus claonadh àbhaisteach den piogsail a dhearbhadh. luachan.
Tha an dàta àireamhaichte airson gach còmhlan air a shàbhaladh ann am faclair le iuchraichean mar ‘Band,’ ‘Min,’ ‘Max,’ ‘Mean,’ agus ‘Std. Tha gach faclair an cois liosta stats a’ chòmhlain. Mu dheireadh, tha dàta gach còmhlan air a chlò-bhualadh chun a 'chonsail.
4. Àireamhachadh NDVI (Clàr-innse Glasraich eadar-dhealachadh àbhaisteach).
Tha an NDVI na thomhas mòr-chòrdte airson slàinte lusan a thomhas. Anns an earrainn seo, nì sinn sgrùdadh gus faicinn a bheil co-dhiù ceithir bannan san dealbh, a tha riatanach airson àireamhachadh 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.")
Airson tòiseachadh, shuidhich sinn na caochladairean red_band agus nir_band gu gin. Tha an caochladair image_count an uairsin air a chleachdadh gus faighinn a-mach a bheil co-dhiù ceithir bannan san ìomhaigh.
Ma tha, tha sinn a 'toirt a-steach gur e clàr-amais 2 am bann dearg agus is e clàr-amais 3 am bann faisg air fo-dhearg (NIR).
Ma tha an dà chuid na bannan dearg agus NIR ruigsinneach, tha an NDVI air a thomhas a’ cleachdadh na foirmle (NIR - Dearg) / (NIR + Dearg). Tha na h-àireamhan NDVI a thig às a’ sealltainn clàr-amais an fhàsmhorachd airson gach piogsail san dealbh.
Chì sinn an NDVI an uairsin le bhith a’ cruthachadh figear ùr agus a’ taisbeanadh an t-sreath NDVI a’ cleachdadh imshow (). Bidh an dòigh bàr-dath () a’ cur bàr-datha ris a’ chuilbheart, a’ toirt iomradh lèirsinneach air luachan NDVI.
Gus fòcas a chuir gu tur air an taisbeanadh NDVI, bidh sinn cuideachd a’ sònrachadh caption airson a’ chuilbheart agus a’ toirt air falbh na bileagan axis le axis (‘dheth’). Mu dheireadh, tha an cuilbheart air a shealltainn le plt.show().
Thèid teachdaireachd mearachd a sgrìobhadh chun chonsail mura h-eil na bannan riatanach san dealbh airson àireamhachadh NDVI (ie, nas lugha na ceithir bannan).
5. A' toirt an Ìomhaigh Satailteach gu Dùin
Tha e na chleachdadh as fheàrr an gnìomh dlùth () a chleachdadh gus am faidhle dealbh saideal a dhùnadh às deidh dhut mion-sgrùdadh agus coimhead. Bidh seo a’ saoradh goireasan siostam sam bith co-cheangailte ris an fhaidhle dhealbhan.
satellite_image.close()
Seo am fuasgladh agam:
Sin e!
Notaichean mu dheireadh
Tha àite Python ann a bhith a’ toirt taic do sgrùdadh nan stòran-dàta mòra sin a’ sìor fhàs cudromach mar a tha cothrom air agus fuasgladh ìomhaighean saideal a’ dol am meud.
Tha an comas Python a chleachdadh gus faighinn gu, giullachd, mion-sgrùdadh, agus sealltainn ìomhaighean saideal a’ tabhann slighe airson tagraidhean cruthachail agus lèirsinn a dh’ fhaodadh atharrachadh math agus barrachd eòlais air an t-saoghal againn a stiùireadh.
Cuimhnich gun dèan thu sgrùdadh air an taghadh mòr de ghoireasan, clasaichean oideachaidh, agus leabharlannan a tha rim faighinn gus d’ eòlas agus do chomasan àrdachadh fhad ‘s a chumas tu air adhart air do chuairt-dànachd ann am mion-sgrùdadh ìomhaighean saideal a’ cleachdadh Python.
Lean air adhart le ùidh, rannsaich, agus cleachd comasan Python gus na dìomhaireachdan a tha air an tiodhlacadh am broinn dealbhan saideal a lorg.
Leave a Reply