تعیین حدود دریاچه با استفاده از یادگیری ماشین و لندست 8 :: بیسین - سایت تخصصی مهندسی آب

عضويت در خبرنامه ايـميـل پايگاه بيسيــن - عضويت پس از کليک بر روي لينک فعال سازي که براي شما ارسال خواهد شد تکميل مي شود




تعیین حدود دریاچه با استفاده از یادگیری ماشین و لندست 8


روند بازیابی اطلاعات از تصاویر ماهواره ای می تواند زمانبر باشد و با چالش هایی مانند وضوح تصویر، شناسایی ویژگی ها و معیارهای کاربر روبرو است. با استفاده از ابزارهای یادگیری ماشین می توانیم تصاویر را پیش پردازش کرده و آنها را با ابزارهای استاندارد QGIS ترکیب کنیم تا اشیا را به روشی بسیار کارآمد ترسیم کنیم.


ما یک آموزش برای تعیین مرز اجسام آب به عنوان دریاچه از یک تصویر لانست 8 پانکروماتیک انجام داده ایم. این آموزش یک روش ترکیبی را نشان می دهد که لبه ها را با Python و Scikit Image شناسایی می کند، مسیرها را با QGIS و پلاگین Trace Raster ردیابی می کند و در نهایت پسوند دریاچه را به عنوان Shapefile دریافت می کند.


پرونده های ورودی در این مخزن Github موجود است


و همچنین از این لینک.


برای اجرای تصویر hachuchik از Docker ، فقط این مورد را در Powershell تایپ کنید:


docker run -it --name hakuchik -p 8888:8888 -p 6543:5432 hatarilabs/hakuchik:a2d1cb82a605


کد پایتون:

این کد پایتون است که لبه های تصویر Landsat 8 را تشخیص می دهد:


Import required packages

#python and matplotlib libraries

import numpy as np

import matplotlib.pyplot as plt


#geospatial libraries

import rasterio


#machine learning libraries

#!pip install scikit-image

from skimage import feature

Import raster and read band

imgRaster = rasterio.open('../Rst/landsatImage.tif')

im = imgRaster.read(1)

fig = plt.figure(figsize=(12,8))

plt.imshow(im)

plt.show()



Canny filter

# Compute the Canny filter for two values of sigma

edges1 = feature.canny(im)

edges2 = feature.canny(im, sigma=3)


# display results

fig, (ax1, ax2, ax3) = plt.subplots(nrows=1, ncols=3, figsize=(18, 6),

                                    sharex=True, sharey=True)


ax1.imshow(im, cmap=plt.cm.gray)

ax1.axis('off')

ax1.set_title('noisy image', fontsize=20)


ax2.imshow(edges1, cmap=plt.cm.gray)

ax2.axis('off')

ax2.set_title(r'Canny filter, $\sigma=1$', fontsize=20)


ax3.imshow(edges2, cmap=plt.cm.gray)

ax3.axis('off')

ax3.set_title(r'Canny filter, $\sigma=3$', fontsize=20)


fig.tight_layout()


plt.show()



Export edges as geospatial TIFF

rasterOut = rasterio.open(

    '../Rst/landsatImage_edges2.tif',

    'w',

    driver='GTiff',

    height=edges2.shape[0],

    width=edges2.shape[1],

    count=3,

    dtype=im.dtype,

    crs=imgRaster.crs,

    transform=imgRaster.transform)

rasterOut.write(np.uint8(edges2*60),1)

rasterOut.write(np.uint8(edges2*120),2)

rasterOut.write(np.uint8(edges2*180),3)

rasterOut.close()












نظرات (۰)

فرم ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی

درباره بهترين هاي بيسيـــن بدانيد...

Bird

يکي از مهمترين اهداف اين سايت تهيه آموزش هاي روان از ابزارهاي کاربردي علوم آب است.

اهميت مطالعات محيطي با ابزارهاي نوين در چيست؟

امروز با فارغ التحصيلي جمع کثير دانشجويان سالهاي گذشته و حال، با گذر از کمي گرايي ديگر صرف وجود مدارک دانشگاهي حرف اول را در بازار کار نمي زند؛ بلکه سنجش ديگري ملاک؛ و شايسته سالاري به ناچار! باب خواهد شد. يکي از مهم ترين لوازم توسعه علمي در هر کشور و ارائه موضوعات ابتکاري، بهره گيري از ابزار نوين است، بيسين با همکاري مخاطبان مي تواند در حيطه علوم آب به معرفي اين مهم بپردازد.

جستجو در بيسين
سایت مهندسی آب

بیسین - سایت تخصصی مهندسی آب

سایت بیسین با معرفی مهم ترین و کاربردی ترین نرم افزارها و مدل های شبیه سازی در حیطه مهندسی آب، تلاش به تهیه خدمات یکپارچه و محلی از محاسبات هیدرولوژیکی و هیدرولیکی می کند

اطلاعات سايت

  • www.Basin.ir@gmail.com
  • بهزاد سرهادي
  • شناسه تلگرام: Basin_Ir_bot
  • شماره واتساپ: 09190622992-098
  • شماره تماس: 09190622992-098

W3Schools

W3Schools