சுற்றுச்சூழல் கண்காணிப்பு, விவசாயம், நகர்ப்புற திட்டமிடல், பேரிடர் மேலாண்மை மற்றும் காலநிலை மாற்ற ஆய்வுகள் அனைத்தும் செயற்கைக்கோள் பட பகுப்பாய்வு மூலம் பயனடைந்துள்ளன.
பூமியைக் கண்காணிக்கும் செயற்கைக்கோள்களால் பதிவுசெய்யப்பட்ட பாரிய அளவிலான தரவுகளைப் பயன்படுத்துவதன் மூலம் நமது கிரகத்தின் பண்புகள், மாற்றங்கள் மற்றும் இயக்கவியல் பற்றிய குறிப்பிடத்தக்க நுண்ணறிவுகளைப் பெறலாம்.
பைதான், ஒரு பல்துறை மற்றும் வலுவான நிரலாக்க மொழி, விரைவான மற்றும் பயனுள்ள செயற்கைக்கோள் பட செயலாக்கத்திற்கான நூலகங்கள் மற்றும் கருவிகளின் வளமான சுற்றுச்சூழல் அமைப்பை வழங்குகிறது.
பயன்படுத்த செயற்கைக்கோள் பட பகுப்பாய்வு சாத்தியக்கூறுகளின் உலகத்தை திறக்கிறது. நிலப்பரப்பு வகைப்படுத்தல், தாவர சுகாதார மதிப்பீடு, நகர்ப்புற விரிவாக்கத்தைக் கண்காணிப்பது மற்றும் கரையோர மேப்பிங் போன்ற செயற்கைக்கோள் புகைப்படங்களிலிருந்து பயனுள்ள தகவல்களைப் பிரித்தெடுக்க இது உதவுகிறது.
பைத்தானின் பன்முகத்தன்மை மற்றும் ராஸ்டீரியோ, நம்பி மற்றும் மேட்ப்லோட்லிப் போன்ற மாட்யூல்களைப் பயன்படுத்தி செயற்கைக்கோள் படங்களை எளிதாக செயலாக்கலாம், காட்சிப்படுத்தலாம் மற்றும் பகுப்பாய்வு செய்யலாம்.
செயற்கைக்கோள் படப் பகுப்பாய்விற்கு பைத்தானைப் பயன்படுத்துவதன் முதன்மையான நன்மைகளில் ஒன்று அதன் பரந்த அளவிலான புவிசார் தரவு செயலாக்க தொகுதிகள் ஆகும்.
எடுத்துக்காட்டாக, ராஸ்டெரியோ ராஸ்டர் தகவலைப் படிக்கவும் மாற்றவும் ஒரு எளிய இடைமுகத்தைக் கொண்டுள்ளது, இது செயற்கைக்கோள் படக் கோப்புகளுடன் வேலை செய்வதற்கு ஏற்றதாக அமைகிறது.
நம்பி மாட்யூல் படத் தரவுகளில் வேகமான கணக்கீடுகள் மற்றும் புள்ளிவிவரங்களைச் செய்வதற்கு அதிநவீன வரிசை செயல்பாடுகளை வழங்குகிறது. Matplotlib பகுப்பாய்வு முடிவுகளின் விளக்கம் மற்றும் தகவல்தொடர்புக்கு உதவ தொடர்புடைய காட்சிகளை உருவாக்க எங்களுக்கு உதவுகிறது.
பின்வரும் பிரிவுகளில், செயற்கைக்கோள் புகைப்படங்களை பகுப்பாய்வு செய்ய பைதான் எவ்வாறு பயன்படுத்தப்படலாம் என்பதைக் காட்ட உண்மையான எடுத்துக்காட்டுகள் மற்றும் குறியீடு துணுக்குகளைப் பார்ப்போம்.
செயற்கைக்கோள் புகைப்படங்களைத் திறப்பது, இமேஜிங் தரவைக் காட்சிப்படுத்துவது, மெட்டாடேட்டாவைப் பிரித்தெடுப்பது, இசைக்குழு புள்ளிவிவரங்களைக் கணக்கிடுவது மற்றும் இயல்பான வேறுபாடு தாவரவியல் குறியீடு (NDVI) போன்ற குறிப்பிட்ட பகுப்பாய்வை எவ்வாறு இயக்குவது என்பதைப் பற்றிப் பார்ப்போம்.
பைதான் மூலம் செயற்கைக்கோள் படங்கள் பகுப்பாய்வு என்ற புதிரான தலைப்பில் தொடங்குவதற்கு இந்த எடுத்துக்காட்டுகள் உதவும்.
முதலில், நமது பணிக்கு உதவ சில நூலகங்களை இறக்குமதி செய்ய வேண்டும்.
import rasterio
import matplotlib.pyplot as plt
import numpy as np
1. செயற்கைக்கோள் படத்தை காட்சிப்படுத்துதல் மற்றும் திறப்பது
satellite_image_path மூலம் வழங்கப்பட்ட செயற்கைக்கோள் படத்தை அணுக, இந்தப் பிரிவில் உள்ள Rasterio நூலகத்தைப் பயன்படுத்துவோம்.
படக் கோப்பு rasterio.open() முறையைப் பயன்படுத்தி திறக்கப்படுகிறது, இதன் விளைவாக வரும் பொருள், satellite_image, திறக்கப்பட்ட படத்தைக் குறிக்கிறது.
இந்தப் பணிக்காக, இந்த இணைப்பிலிருந்து படத்தைப் பயன்படுத்தினேன்: https://unsplash.com/photos/JiuVoQd-ZLk மற்றும் அதை எனது கணினியில் “satellite.jpg” ஆக சேமித்துள்ளேன்.
# Open the satellite image using rasterio
satellite_image_path = 'satellite.jpg'
satellite_image = rasterio.open(satellite_image_path)
படத்தைத் திறந்த பிறகு, செயற்கைக்கோள்_படப் பொருளின் வாசிப்பு() செயல்பாட்டைப் பயன்படுத்தி ஒரு வரிசையாகப் படிக்கிறோம். செயற்கைக்கோள் படங்களின் ஒவ்வொரு பேண்டிற்கான பிக்சல் மதிப்புகள் பட வரிசையில் சேமிக்கப்படும்.
# Read the image as an array
image_array = satellite_image.read()
செயற்கைக்கோள் படத்தை பார்வைக்கு மதிப்பீடு செய்ய, 10×10-அங்குல உருவத்தை உருவாக்க matplotlib.pyplot கருவியைப் பயன்படுத்துகிறோம்.
imshow() முறையைப் பயன்படுத்தி பட வரிசை காட்டப்படுகிறது. இடமாற்றம்(1, 2, 0) செயல்பாடு imshow() மூலம் எதிர்பார்க்கப்படும் வரிசைக்கு ஏற்றவாறு பட வரிசையின் பரிமாணங்களை மறுசீரமைக்கப் பயன்படுகிறது.
இறுதியாக, அச்சு ('ஆஃப்') அச்சு லேபிள்களை மறைத்து, செயற்கைக்கோள் படத்தின் தெளிவான பார்வையை அளிக்கிறது.
# Visualize the image
plt.figure(figsize=(10, 10))
plt.imshow(image_array.transpose(1, 2, 0))
plt.axis('off')
plt.show()
2. மெட்டாடேட்டா பிரித்தெடுத்தல்
செயற்கைக்கோள் படத்தைத் திறந்து காண்பித்த பிறகு அதைப் பற்றிய முக்கியமான மெட்டாடேட்டா தகவலைப் பிரித்தெடுக்கிறோம். இந்தத் தகவல் படத்தின் குணங்களைப் புரிந்துகொள்வதில் எங்களுக்கு உதவுகிறது மற்றும் எதிர்கால விசாரணைக்கான சூழலை வழங்குகிறது.
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)
satellite_image பொருளின் அகலம் மற்றும் உயர பண்புகளைப் பயன்படுத்தி, படத்தின் அகலம் மற்றும் உயரத்தைப் பிரித்தெடுக்கிறோம். படத்தின் ஒருங்கிணைப்பு குறிப்பு அமைப்பை (CRS) மீட்டெடுக்க crs பண்பு பயன்படுத்தப்படுகிறது.
சிஆர்எஸ் படத்தின் இடஞ்சார்ந்த குறிப்பு அமைப்பு பற்றிய தகவலை வழங்குகிறது, இது நிஜ உலக இடங்களுடன் பட ஒருங்கிணைப்புகளை பொருத்த அனுமதிக்கிறது.
இறுதியாக, படத்தில் உள்ள பட்டைகளின் எண்ணிக்கையைக் கணக்கிட, செயற்கைக்கோள்_பட பொருளின் எண்ணிக்கை பண்புக்கூறைப் பயன்படுத்துகிறோம். இந்த தரவு பின்னர் பகுப்பாய்வு செய்ய முக்கியமானது, ஏனெனில் இது பட வரிசையில் உள்ள ஒவ்வொரு குழுவிற்கும் பிக்சல் மதிப்புகளைப் பெற அனுமதிக்கிறது.
3. இசைக்குழு புள்ளியியல் கணக்கீடு
இந்தப் பகுதியில் உள்ள பட வரிசையில் உள்ள ஒவ்வொரு இசைக்குழுவிற்கும் புள்ளிவிவரங்களைக் கணக்கிடுகிறோம். ஒவ்வொரு இசைக்குழுவிலும் ஒரு லூப் திரும்பத் திரும்புகிறது, மேலும் இந்த புள்ளிவிவரங்களைக் கணக்கிட நம்பி லைப்ரரியின் நிமிடம், அதிகபட்சம், சராசரி மற்றும் std செயல்பாடுகள் பயன்படுத்தப்படுகின்றன.
அகராதிகளின் பட்டியல் ஒவ்வொரு குழுவிற்கும் புள்ளிவிவரங்களைச் சேமிக்கிறது.
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)
ஒவ்வொரு பேண்டிலும் லூப் சுழற்சிகள், பேண்ட் குறியீட்டைக் குறிக்கும் மாறி பேண்ட். image_array[band] ஐப் பயன்படுத்தி, ஒவ்வொரு பேண்டிற்கும் பட வரிசையில் இருந்து பிக்சல் மதிப்புகளைப் பிரித்தெடுக்கிறோம்.
பின்னர், தற்போதைய இசைக்குழுவிற்கு, பிக்சலின் குறைந்தபட்ச, அதிகபட்ச, சராசரி மற்றும் நிலையான விலகலைத் தீர்மானிக்க, np.min(), np.max(), np.mean(), மற்றும் np.std() செயல்பாடுகள் பயன்படுத்தப்படுகின்றன. மதிப்புகள்.
ஒவ்வொரு இசைக்குழுவிற்கும் கணக்கிடப்பட்ட தரவு, 'பேண்ட்,' 'நிமிடம்,' 'அதிகபட்சம்,' 'சராசரி,' மற்றும் 'படிப்பு' போன்ற விசைகளுடன் அகராதியில் சேமிக்கப்படும். ஒவ்வொரு அகராதியும் இசைக்குழு புள்ளிவிவரங்களின் பட்டியலில் இணைக்கப்பட்டுள்ளது. இறுதியாக, ஒவ்வொரு இசைக்குழுவின் தரவுகளும் கன்சோலில் அச்சிடப்படும்.
4. என்.டி.வி.ஐ (இயல்படுத்தப்பட்ட வேறுபாடு தாவர அட்டவணை) கணக்கீடு
NDVI என்பது தாவரங்களின் ஆரோக்கியத்தை அளவிடுவதற்கான ஒரு பிரபலமான நடவடிக்கையாகும். இந்தப் பிரிவில், 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.")
தொடங்குவதற்கு, red_band மற்றும் nir_band மாறிகளை None என அமைத்துள்ளோம். image_count மாறி, படத்தில் குறைந்தது நான்கு பட்டைகள் உள்ளதா என்பதைத் தீர்மானிக்கப் பயன்படுகிறது.
அப்படியானால், சிவப்பு பட்டையானது இன்டெக்ஸ் 2 என்றும், அருகிலுள்ள அகச்சிவப்பு (என்ஐஆர்) பேண்ட் இன்டெக்ஸ் 3 என்றும் ஊகிக்கிறோம். பட வரிசையில் இருந்து பொருந்தும் பட்டைகள் red_band மற்றும் nir_band மாறிகளுக்கு ஒதுக்கப்படும்.
சிவப்பு மற்றும் NIR பட்டைகள் இரண்டும் அணுகக்கூடியதாக இருந்தால், NDVI (NIR – Red) / (NIR + Red) சூத்திரத்தைப் பயன்படுத்தி கணக்கிடப்படுகிறது. இதன் விளைவாக வரும் NDVI எண்கள் படத்தில் உள்ள ஒவ்வொரு பிக்சலுக்கான தாவர குறியீட்டைக் குறிக்கின்றன.
ஒரு புதிய உருவத்தை உருவாக்கி, imshow() ஐப் பயன்படுத்தி NDVI வரிசையைக் காண்பிப்பதன் மூலம் NDVI ஐப் பார்க்கிறோம். கலர்பார்() முறையானது ப்ளாட்டில் ஒரு கலர்பார் சேர்க்கிறது, இது என்டிவிஐ மதிப்புகளுக்கு காட்சிக் குறிப்பை அளிக்கிறது.
NDVI டிஸ்ப்ளேயில் முழுமையாக கவனம் செலுத்த, ப்ளாட்டுக்கான தலைப்பைக் குறிப்பிடுகிறோம் மற்றும் அச்சு ('ஆஃப்') உடன் அச்சு லேபிள்களை அகற்றுவோம். இறுதியாக, சதி plt.show() உடன் காட்டப்பட்டுள்ளது.
படத்தில் NDVI கணக்கீட்டிற்கு தேவையான பட்டைகள் இல்லாவிட்டால் (அதாவது நான்கு பட்டைகளுக்கு குறைவாக) ஒரு பிழை செய்தி கன்சோலில் எழுதப்படும்.
5. செயற்கைக்கோள் படத்தை ஒரு மூடுக்கு கொண்டு வருதல்
பகுப்பாய்வு மற்றும் பார்வைக்குப் பிறகு செயற்கைக்கோள் படக் கோப்பை மூடுவதற்கு மூடு() செயல்பாட்டைப் பயன்படுத்துவது சிறந்த நடைமுறையாகும். இது படக் கோப்புடன் இணைக்கப்பட்ட எந்த கணினி ஆதாரங்களையும் விடுவிக்கிறது.
satellite_image.close()
இங்கே என் தீர்வு:
அவ்வளவுதான்!
இறுதி குறிப்புகள்
செயற்கைக்கோள் படங்களின் கிடைக்கும் தன்மை மற்றும் தெளிவுத்திறன் அதிகரிக்கும் போது இந்த பாரிய தரவுத்தொகுப்புகளின் ஆய்வுக்கு உதவுவதில் பைத்தானின் பங்கு பெருகிய முறையில் முக்கியத்துவம் பெறுகிறது.
செயற்கைக்கோள் படங்களை அணுகவும், செயலாக்கவும், பகுப்பாய்வு செய்யவும் மற்றும் காட்டவும் பைத்தானைப் பயன்படுத்தும் திறன், ஆக்கப்பூர்வமான பயன்பாடுகள் மற்றும் நுண்ணறிவுக்கான பாதையை வழங்குகிறது, இது நல்ல மாற்றத்தையும் நமது உலகத்தைப் பற்றிய அதிக அறிவையும் தூண்டும்.
பைத்தானைப் பயன்படுத்தி செயற்கைக்கோள் படப் பகுப்பாய்வில் உங்கள் சாகசத்தைத் தொடரும்போது, உங்கள் அறிவு மற்றும் திறன்களை அதிகரிக்க, ஏராளமான வளங்கள், பயிற்சிகள் மற்றும் நூலகங்களை ஆராய நினைவில் கொள்ளுங்கள்.
செயற்கைக்கோள் படங்களுக்குள் புதைந்து கிடக்கும் மர்மங்களை வெளிக்கொணர பைத்தானின் திறன்களை தொடர்ந்து ஆர்வமாக, ஆராய்ந்து, பயன்படுத்தவும்.
ஒரு பதில் விடவும்