ਵਾਤਾਵਰਣ ਨਿਗਰਾਨੀ, ਖੇਤੀਬਾੜੀ, ਸ਼ਹਿਰੀ ਯੋਜਨਾਬੰਦੀ, ਆਫ਼ਤ ਪ੍ਰਬੰਧਨ, ਅਤੇ ਜਲਵਾਯੂ ਪਰਿਵਰਤਨ ਅਧਿਐਨਾਂ ਨੂੰ ਸੈਟੇਲਾਈਟ ਇਮੇਜਰੀ ਵਿਸ਼ਲੇਸ਼ਣ ਤੋਂ ਲਾਭ ਹੋਇਆ ਹੈ।
ਅਸੀਂ ਧਰਤੀ-ਨਿਰੀਖਣ ਵਾਲੇ ਸੈਟੇਲਾਈਟਾਂ ਦੁਆਰਾ ਰਿਕਾਰਡ ਕੀਤੇ ਗਏ ਡਾਟੇ ਦੀ ਵੱਡੀ ਮਾਤਰਾ ਦਾ ਸ਼ੋਸ਼ਣ ਕਰਕੇ ਆਪਣੇ ਗ੍ਰਹਿ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ, ਤਬਦੀਲੀਆਂ ਅਤੇ ਗਤੀਸ਼ੀਲਤਾ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਾਂ।
ਪਾਈਥਨ, ਇੱਕ ਬਹੁਮੁਖੀ ਅਤੇ ਮਜ਼ਬੂਤ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾ, ਤੇਜ਼ ਅਤੇ ਪ੍ਰਭਾਵੀ ਸੈਟੇਲਾਈਟ ਇਮੇਜਰੀ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਸਾਧਨਾਂ ਦਾ ਇੱਕ ਅਮੀਰ ਈਕੋਸਿਸਟਮ ਪੇਸ਼ ਕਰਦੀ ਹੈ।
ਦੀ ਵਰਤੋ ਸੈਟੇਲਾਈਟ ਚਿੱਤਰ ਵਿਸ਼ਲੇਸ਼ਣ ਸੰਭਾਵਨਾਵਾਂ ਦਾ ਸੰਸਾਰ ਖੋਲ੍ਹਦਾ ਹੈ। ਇਹ ਸਾਨੂੰ ਸੈਟੇਲਾਈਟ ਫੋਟੋਆਂ ਤੋਂ ਲਾਭਦਾਇਕ ਜਾਣਕਾਰੀ ਕੱਢਣ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਭੂਮੀ ਕਵਰ ਵਰਗੀਕਰਨ, ਬਨਸਪਤੀ ਸਿਹਤ ਮੁਲਾਂਕਣ, ਸ਼ਹਿਰੀ ਵਿਸਥਾਰ ਨੂੰ ਟਰੈਕ ਕਰਨਾ, ਅਤੇ ਸਮੁੰਦਰੀ ਕਿਨਾਰੇ ਮੈਪਿੰਗ।
ਅਸੀਂ ਪਾਈਥਨ ਦੀ ਬਹੁਪੱਖਤਾ ਅਤੇ ਰੇਸਟੇਰੀਓ, ਨੰਪੀ, ਅਤੇ ਮੈਟਪਲੋਟਲਿਬ ਵਰਗੇ ਮਾਡਿਊਲਾਂ ਦਾ ਸ਼ੋਸ਼ਣ ਕਰਕੇ ਸੈਟੇਲਾਈਟ ਚਿੱਤਰਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਪ੍ਰੋਸੈਸ, ਪ੍ਰਦਰਸ਼ਿਤ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰ ਸਕਦੇ ਹਾਂ।
ਸੈਟੇਲਾਈਟ ਇਮੇਜਰੀ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਪਾਈਥਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਮੁੱਖ ਲਾਭਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ ਇਸਦੇ ਭੂ-ਸਥਾਨਕ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਮੋਡੀਊਲ ਦੀ ਵਿਸ਼ਾਲ ਸ਼੍ਰੇਣੀ।
Rasterio, ਉਦਾਹਰਨ ਲਈ, ਰਾਸਟਰ ਜਾਣਕਾਰੀ ਨੂੰ ਪੜ੍ਹਨ ਅਤੇ ਸੋਧਣ ਲਈ ਇੱਕ ਸਧਾਰਨ ਇੰਟਰਫੇਸ ਹੈ, ਇਸ ਨੂੰ ਸੈਟੇਲਾਈਟ ਇਮੇਜਰੀ ਫਾਈਲਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਢੁਕਵਾਂ ਬਣਾਉਂਦਾ ਹੈ।
ਨੰਪੀ ਮੋਡੀਊਲ ਤਸਵੀਰ ਡੇਟਾ 'ਤੇ ਤੇਜ਼ ਗਣਨਾਵਾਂ ਅਤੇ ਅੰਕੜੇ ਕਰਨ ਲਈ ਵਧੀਆ ਐਰੇ ਓਪਰੇਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਮੈਟਪਲੋਟਲਿਬ ਸਾਨੂੰ ਵਿਸ਼ਲੇਸ਼ਣਾਤਮਕ ਨਤੀਜਿਆਂ ਦੀ ਵਿਆਖਿਆ ਅਤੇ ਸੰਚਾਰ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਸੰਬੰਧਿਤ ਵਿਜ਼ੂਅਲ ਤਿਆਰ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ।
ਹੇਠਾਂ ਦਿੱਤੇ ਭਾਗਾਂ ਵਿੱਚ, ਅਸੀਂ ਇਹ ਦਿਖਾਉਣ ਲਈ ਅਸਲ ਉਦਾਹਰਣਾਂ ਅਤੇ ਕੋਡ ਸਨਿੱਪਟ ਦੇਖਾਂਗੇ ਕਿ ਸੈਟੇਲਾਈਟ ਫੋਟੋਆਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਲਈ ਪਾਈਥਨ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
ਅਸੀਂ ਸੈਟੇਲਾਈਟ ਫੋਟੋਆਂ ਨੂੰ ਕਿਵੇਂ ਖੋਲ੍ਹਣਾ ਹੈ, ਇਮੇਜਿੰਗ ਡੇਟਾ ਦੀ ਕਲਪਨਾ ਕਰਨਾ, ਮੈਟਾਡੇਟਾ ਐਕਸਟਰੈਕਟ ਕਰਨਾ, ਬੈਂਡ ਅੰਕੜਿਆਂ ਦੀ ਗਣਨਾ ਕਰਨਾ, ਅਤੇ ਨਾਰਮਲਾਈਜ਼ਡ ਡਿਫਰੈਂਸ ਵੈਜੀਟੇਸ਼ਨ ਇੰਡੈਕਸ (NDVI) ਵਰਗੇ ਖਾਸ ਵਿਸ਼ਲੇਸ਼ਣ ਨੂੰ ਚਲਾਉਣਾ ਹੈ।
ਇਹ ਉਦਾਹਰਣਾਂ ਤੁਹਾਨੂੰ ਪਾਈਥਨ ਨਾਲ ਸੈਟੇਲਾਈਟ ਚਿੱਤਰਾਂ ਦੇ ਵਿਸ਼ਲੇਸ਼ਣ ਦੇ ਦਿਲਚਸਪ ਵਿਸ਼ੇ ਵਿੱਚ ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਨਗੀਆਂ।
ਪਹਿਲਾਂ, ਸਾਨੂੰ ਸਾਡੇ ਕੰਮ ਵਿੱਚ ਸਾਡੀ ਮਦਦ ਕਰਨ ਲਈ ਕੁਝ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਆਯਾਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
import rasterio
import matplotlib.pyplot as plt
import numpy as np
1. ਸੈਟੇਲਾਈਟ ਚਿੱਤਰ ਨੂੰ ਵੇਖਣਾ ਅਤੇ ਖੋਲ੍ਹਣਾ
ਅਸੀਂ satellite_image_path ਦੁਆਰਾ ਸਪਲਾਈ ਕੀਤੇ ਸੈਟੇਲਾਈਟ ਚਿੱਤਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਇਸ ਭਾਗ ਵਿੱਚ ਰਾਸਟਰੀਓ ਲਾਇਬ੍ਰੇਰੀ ਕਰਾਂਗੇ।
ਚਿੱਤਰ ਫਾਈਲ ਨੂੰ 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)
ਤਸਵੀਰ ਨੂੰ ਖੋਲ੍ਹਣ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਇਸਨੂੰ satellite_image ਆਬਜੈਕਟ ਦੇ read() ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਐਰੇ ਵਜੋਂ ਪੜ੍ਹਦੇ ਹਾਂ। ਸੈਟੇਲਾਈਟ ਤਸਵੀਰਾਂ ਦੇ ਹਰੇਕ ਬੈਂਡ ਲਈ ਪਿਕਸਲ ਮੁੱਲ ਚਿੱਤਰ ਐਰੇ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
# 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) ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
CRS ਤਸਵੀਰ ਦੇ ਸਥਾਨਿਕ ਸੰਦਰਭ ਪ੍ਰਣਾਲੀ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਅਸੀਂ ਚਿੱਤਰ ਨਿਰਦੇਸ਼ਾਂ ਨੂੰ ਅਸਲ-ਸੰਸਾਰ ਸਥਾਨਾਂ ਨਾਲ ਮਿਲਾ ਸਕਦੇ ਹਾਂ।
ਅੰਤ ਵਿੱਚ, ਅਸੀਂ ਚਿੱਤਰ ਵਿੱਚ ਬੈਂਡਾਂ ਦੀ ਗਿਣਤੀ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ satellite_image ਆਬਜੈਕਟ ਦੀ ਗਿਣਤੀ ਵਿਸ਼ੇਸ਼ਤਾ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ। ਇਹ ਡੇਟਾ ਬਾਅਦ ਦੇ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਾਨੂੰ ਤਸਵੀਰ ਐਰੇ ਵਿੱਚ ਹਰੇਕ ਬੈਂਡ ਲਈ ਪਿਕਸਲ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
3. ਬੈਂਡ ਸਟੈਟਿਸਟਿਕਸ ਕੈਲਕੂਲੇਸ਼ਨ
ਅਸੀਂ ਇਸ ਹਿੱਸੇ ਵਿੱਚ ਤਸਵੀਰ ਐਰੇ ਵਿੱਚ ਹਰੇਕ ਬੈਂਡ ਲਈ ਅੰਕੜਿਆਂ ਦੀ ਗਣਨਾ ਕਰਦੇ ਹਾਂ। ਹਰੇਕ ਬੈਂਡ ਵਿੱਚ ਇੱਕ ਲੂਪ ਦੁਹਰਾਉਂਦਾ ਹੈ, ਅਤੇ ਇਹਨਾਂ ਅੰਕੜਿਆਂ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਨੰਪੀ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਘੱਟੋ-ਘੱਟ, ਅਧਿਕਤਮ, ਮੱਧਮਾਨ ਅਤੇ ਐਸਟੀਡੀ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਸ਼ਬਦਕੋਸ਼ਾਂ ਦੀ ਇੱਕ ਸੂਚੀ ਹਰੇਕ ਬੈਂਡ ਲਈ ਅੰਕੜੇ ਸਟੋਰ ਕਰਦੀ ਹੈ।
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)
ਬੈਂਡ ਸੂਚਕਾਂਕ ਨੂੰ ਦਰਸਾਉਣ ਵਾਲੇ ਵੇਰੀਏਬਲ ਬੈਂਡ ਦੇ ਨਾਲ, ਹਰੇਕ ਬੈਂਡ ਵਿੱਚ ਲੂਪ ਚੱਕਰ। ਚਿੱਤਰ_ਐਰੇ [ਬੈਂਡ] ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਅਸੀਂ ਹਰੇਕ ਬੈਂਡ ਲਈ ਚਿੱਤਰ ਐਰੇ ਤੋਂ ਪਿਕਸਲ ਮੁੱਲਾਂ ਨੂੰ ਕੱਢਦੇ ਹਾਂ।
ਫਿਰ, ਮੌਜੂਦਾ ਬੈਂਡ ਲਈ, np.min(), np.max(), np.mean(), ਅਤੇ np.std() ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਪਿਕਸਲ ਦੇ ਨਿਊਨਤਮ, ਅਧਿਕਤਮ, ਮੱਧਮਾਨ ਅਤੇ ਮਿਆਰੀ ਵਿਵਹਾਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਮੁੱਲ।
ਹਰੇਕ ਬੈਂਡ ਲਈ ਗਣਨਾ ਕੀਤਾ ਗਿਆ ਡੇਟਾ ਇੱਕ ਸ਼ਬਦਕੋਸ਼ ਵਿੱਚ 'ਬੈਂਡ,' 'ਮਿਨ,' 'ਅਧਿਕਤਮ,' 'ਮੀਨ' ਅਤੇ 'ਸਟੱਡੀ' ਵਰਗੀਆਂ ਕੁੰਜੀਆਂ ਨਾਲ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਹਰੇਕ ਸ਼ਬਦਕੋਸ਼ ਨੂੰ ਬੈਂਡ ਅੰਕੜਿਆਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ। ਅੰਤ ਵਿੱਚ, ਹਰੇਕ ਬੈਂਡ ਦਾ ਡੇਟਾ ਕੰਸੋਲ ਵਿੱਚ ਪ੍ਰਿੰਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
4. NDVI (ਸਧਾਰਨ ਅੰਤਰ ਬਨਸਪਤੀ ਸੂਚਕਾਂਕ) ਗਣਨਾ
ਪੌਦਿਆਂ ਦੀ ਸਿਹਤ ਨੂੰ ਮਾਪਣ ਲਈ 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 ਹੈ ਅਤੇ ਨੇੜੇ-ਇਨਫਰਾਰੈੱਡ (NIR) ਬੈਂਡ ਸੂਚਕਾਂਕ 3 ਹੈ। ਤਸਵੀਰ ਐਰੇ ਤੋਂ ਮੇਲ ਖਾਂਦੇ ਬੈਂਡਾਂ ਨੂੰ ਵੇਰੀਏਬਲ red_band ਅਤੇ nir_band ਨੂੰ ਨਿਰਧਾਰਤ ਕੀਤਾ ਗਿਆ ਹੈ।
ਜੇਕਰ ਲਾਲ ਅਤੇ NIR ਦੋਵੇਂ ਬੈਂਡ ਪਹੁੰਚਯੋਗ ਹਨ, ਤਾਂ NDVI ਦੀ ਗਣਨਾ ਫਾਰਮੂਲੇ (NIR - Red) / (NIR + Red) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। NDVI ਨੰਬਰ ਜੋ ਨਤੀਜੇ ਵਜੋਂ ਤਸਵੀਰ ਵਿੱਚ ਹਰੇਕ ਪਿਕਸਲ ਲਈ ਬਨਸਪਤੀ ਸੂਚਕਾਂਕ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।
ਅਸੀਂ ਫਿਰ ਇੱਕ ਨਵਾਂ ਚਿੱਤਰ ਬਣਾ ਕੇ ਅਤੇ imshow() ਦੀ ਵਰਤੋਂ ਕਰਕੇ NDVI ਐਰੇ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਕੇ NDVI ਦੇਖਦੇ ਹਾਂ। ਕਲਰਬਾਰ() ਵਿਧੀ ਪਲਾਟ ਵਿੱਚ ਇੱਕ ਕਲਰਬਾਰ ਜੋੜਦੀ ਹੈ, ਜਿਸ ਨਾਲ NDVI ਮੁੱਲਾਂ ਨੂੰ ਇੱਕ ਵਿਜ਼ੂਅਲ ਰੈਫਰੈਂਸ ਮਿਲਦਾ ਹੈ।
NDVI ਡਿਸਪਲੇਅ 'ਤੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਫੋਕਸ ਕਰਨ ਲਈ, ਅਸੀਂ ਪਲਾਟ ਲਈ ਇੱਕ ਸੁਰਖੀ ਵੀ ਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹਾਂ ਅਤੇ ਧੁਰੇ ('ਬੰਦ') ਵਾਲੇ ਧੁਰੇ ਲੇਬਲਾਂ ਨੂੰ ਹਟਾਉਂਦੇ ਹਾਂ। ਅੰਤ ਵਿੱਚ, ਪਲਾਟ plt.show() ਨਾਲ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
ਜੇਕਰ ਤਸਵੀਰ ਵਿੱਚ NDVI ਗਣਨਾ ਲਈ ਲੋੜੀਂਦੇ ਬੈਂਡ ਨਹੀਂ ਹਨ (ਭਾਵ, ਚਾਰ ਬੈਂਡ ਤੋਂ ਘੱਟ) ਤਾਂ ਕੰਸੋਲ ਉੱਤੇ ਇੱਕ ਗਲਤੀ ਸੁਨੇਹਾ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ।
5. ਸੈਟੇਲਾਈਟ ਚਿੱਤਰ ਨੂੰ ਬੰਦ ਕਰਨਾ
ਵਿਸ਼ਲੇਸ਼ਣ ਅਤੇ ਦੇਖਣ ਤੋਂ ਬਾਅਦ ਸੈਟੇਲਾਈਟ ਪਿਕਚਰ ਫਾਈਲ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਕਲੋਜ਼() ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸ ਹੈ। ਇਹ ਤਸਵੀਰ ਫਾਈਲ ਨਾਲ ਜੁੜੇ ਕਿਸੇ ਵੀ ਸਿਸਟਮ ਸਰੋਤ ਨੂੰ ਮੁਕਤ ਕਰਦਾ ਹੈ।
satellite_image.close()
ਇੱਥੇ ਮੇਰਾ ਹੱਲ ਹੈ:
ਇਹ ਹੀ ਗੱਲ ਹੈ!
ਫਾਈਨਲ ਨੋਟਸ
ਸੈਟੇਲਾਈਟ ਚਿੱਤਰਾਂ ਦੀ ਉਪਲਬਧਤਾ ਅਤੇ ਰੈਜ਼ੋਲੂਸ਼ਨ ਵਧਣ ਦੇ ਨਾਲ ਇਹਨਾਂ ਵਿਸ਼ਾਲ ਡੇਟਾਸੈਟਾਂ ਦੇ ਅਧਿਐਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਨ ਵਿੱਚ ਪਾਈਥਨ ਦੀ ਭੂਮਿਕਾ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦੀ ਜਾ ਰਹੀ ਹੈ।
ਸੈਟੇਲਾਈਟ ਚਿੱਤਰਾਂ ਨੂੰ ਐਕਸੈਸ ਕਰਨ, ਪ੍ਰਕਿਰਿਆ ਕਰਨ, ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਅਤੇ ਦਿਖਾਉਣ ਲਈ ਪਾਈਥਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਯੋਗਤਾ ਰਚਨਾਤਮਕ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਸੂਝ-ਬੂਝ ਲਈ ਮਾਰਗ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦੀ ਹੈ ਜੋ ਸਾਡੇ ਸੰਸਾਰ ਦੇ ਚੰਗੇ ਬਦਲਾਅ ਅਤੇ ਵਧੇਰੇ ਗਿਆਨ ਨੂੰ ਚਲਾ ਸਕਦੇ ਹਨ।
ਆਪਣੇ ਗਿਆਨ ਅਤੇ ਕਾਬਲੀਅਤਾਂ ਨੂੰ ਵਧਾਉਣ ਲਈ ਉਪਲਬਧ ਸਰੋਤਾਂ, ਟਿਊਟੋਰੀਅਲਾਂ, ਅਤੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵੱਡੀ ਚੋਣ ਦੀ ਪੜਚੋਲ ਕਰਨਾ ਯਾਦ ਰੱਖੋ ਕਿਉਂਕਿ ਤੁਸੀਂ ਪਾਈਥਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸੈਟੇਲਾਈਟ ਇਮੇਜਰੀ ਵਿਸ਼ਲੇਸ਼ਣ ਵਿੱਚ ਆਪਣੇ ਸਾਹਸ ਨੂੰ ਜਾਰੀ ਰੱਖਦੇ ਹੋ।
ਸੈਟੇਲਾਈਟ ਤਸਵੀਰਾਂ ਦੇ ਅੰਦਰ ਦੱਬੇ ਰਹੱਸਾਂ ਨੂੰ ਉਜਾਗਰ ਕਰਨ ਲਈ ਪਾਇਥਨ ਦੀਆਂ ਕਾਬਲੀਅਤਾਂ ਦੀ ਦਿਲਚਸਪੀ, ਖੋਜ ਅਤੇ ਵਰਤੋਂ ਕਰਨਾ ਜਾਰੀ ਰੱਖੋ।
ਕੋਈ ਜਵਾਬ ਛੱਡਣਾ