سورس سافت | سورس پروژه | دانلود پروژه | سورس کد


م
ن
و
سورس سافت

ادامه مطلب

سورس کد پردازش تصویر با پایتون



سورس کد پردازش تصویر با پایتون

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

نحوه پردازش تصویر با پایتون

در مقاله ای در روزنامه 1911 در مورد روزنامه نگاری و تبلیغات و به نقل از سردبیر روزنامه تس فلاندرز، عبارت زیر ظاهر شد:

از تصویر استفاده کنید. ارزش هزار کلمه دارد.

عبارتی مشابه نیز در آگهی روزنامه 1913 خانه تأمین خودرو Piqua ظاهر شد:

یک نگاه ارزش هزار کلمه را دارد.

شکی نیست که تصاویر نقش مهمی در ارتباطات ما دارند – نه فقط تصاویر عمومی، بلکه عکسهای تخصصی مانند تصاویر پزشکی (مانند MRI، سونوگرافی و غیره).

ما می توانیم عکس ها را از طریق دستگاه های مختلف اکتسابی به دست آوریم. به عنوان مثال، تصاویر ملانوم (سرطان پوست) با استفاده از درماتوسکوپ بازیابی می شوند. ما از خود یا دوستان با استفاده از دوربین دیجیتال یا تلفن هوشمند عکس می گیریم. با این حال، گاهی اوقات، برخی از مسائل را در تصاویر خود مشاهده می کنیم، مانند محو شدن برای مثال، که ممکن است به دلیل دستگاه اکتسابی مورد استفاده باشد.

اما، در این مورد چه باید کرد؟ برخی از تصاویر پزشکی برای تجزیه و تحلیل برای شما ارسال شده است و شما نمی توانید چنین تصاویری را مجدداً بگیرید. حتی اگر تصویری را مجدداً بگیرید، وضوح تصویری که مشاهده می کنید تغییر نمی کند و هیچ مشکل دیگری با آن روبرو نیستید. پردازش تصویر در چنین شرایطی به کار می رود.

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

تجزیه و تحلیل و دستکاری تصویر دیجیتالی شده، به ویژه به منظور بهبود کیفیت آن.

“تصویر دیجیتالی” در اینجا به این واقعیت اشاره دارد که تصویر دیجیتالی تلقی می شود، یعنی توسط یک کامپیوتر پردازش می شود.

دریافت رایانه در این بازی به معنای استفاده از یک زبان برنامه نویسی است. در این آموزش به شما نشان خواهم داد که چگونه می توانیم از زبان برنامه نویسی پایتون برای انجام کارهای پردازش تصویر روی یک تصویر استفاده کنیم. با ما همراه باشید.!

سورس پروژه پردازش تصویر با پایتون

scikit-image

کتابخانه ای که قرار است از آن برای انجام وظایف پردازش تصویر خود استفاده کنیم scikit-image است. با توجه به مقاله scikit-image:

آموزش پردازش تصویر در پایتون:

scikit-image یک کتابخانه پردازش تصویر است که الگوریتم ها و ابزارهای کاربردی را برای استفاده در تحقیقات، آموزش و برنامه های صنعتی پیاده سازی می کند. این نرم افزار تحت مجوز منبع آزاد Modified BSD منتشر می شود، یک API مستند به زبان برنامه نویسی پایتون ارائه می دهد و توسط یک تیم فعال و بین المللی از همکاران توسعه یافته است.

اولین کاری که باید انجام دهیم نصب scikit-image است. دستورالعمل های نصب کتابخانه را می توانید در صفحه بارگیری مشاهده کنید و در این آموزش نحوه نصب کتابخانه بر روی دستگاه Mac OS X را به شما نشان خواهم داد، زیرا این چیزی است که من در حال نوشتن این آموزش استفاده می کنم.

از آنجا که scikit-image یک کتابخانه خارجی است، اولین کاری که باید انجام دهیم نصب این کتابخانه است. برای این کار، من از pip استفاده می کنم، که (بر اساس ویکی پدیا) است:

یک سیستم مدیریت بسته که برای نصب و مدیریت بسته های نرم افزاری نوشته شده در پایتون استفاده می شود. بسیاری از بسته ها را می توان در فهرست بسته پایتون (PyPI) یافت.

برای نصب pip می توانید مراحل ذکر شده در راهنمای کاربر بسته بندی پایتون را دنبال کنید، اما اگر پایتون 2.7.9 و بالاتر یا پایتون 3.4 و بالاتر دارید، پیپ دارید!

scikit-image را می توان با تایپ کردن دستور زیر (در ترمینال Mac OS X) به سادگی نصب کرد:

pip install -U scikit -image

ما اکنون کتابخانه را نصب کرده ایم و برای سرگرمی پردازش تصویر آماده ایم!

تصویر آزمایشی که در این آموزش استفاده خواهیم کرد baboon.png است. پیش بروید و آن را بارگیری کنید، یا به سادگی از تصویر دلخواه خود استفاده کنید. تصویر به شرح زیر است:


پردازش تصویر با استفاده از پایتون
 

ابعاد یک تصویر

گاهی اوقات باید ابعاد یک تصویر را بدانیم (بیشتر در قسمت فیلترینگ). به منظور بررسی ابعاد تصویر خود ، می توانیم از روش guess_spatial_dimensions () به شرح زیر استفاده کنیم:

from skimage import io, color
img = io.imread('baboon.png')
dimensions = color.guess_spatial_dimensions(img)
print dimensions

خروجی اسکریپت بالا 3 است، به این معنی که ما تصویری متشکل از سه بعد مکانی داریم.

رنگ تا مقیاس خاکستری

از قسمت بالا متوجه شدیم که تصویر ما یک تصویر آرایه سه بعدی (با فرمت RGBA با شکل (.. ، .. ، 4)) است. چگونه متوجه شدم که در قالب RGBA است؟ شما به سادگی می توانید موارد زیر را انجام دهید:

import skimage.io as io
from skimage.color import rgb2gray
img = io.imread('baboon.png')
print img.shape

در این حالت، این خروجی را دریافت خواهید کرد: (512 ، 512 ، 4).

در این بخش، ما می خواهیم تصویر اصلی baboon.png رنگی را به یک تصویر دوبعدی خاکستری (سیاه و سفید) تبدیل کنیم. این را می توان به سادگی با استفاده از اسکریپت زیر انجام داد:

import skimage.io as io
from skimage.color import rgb2gray
img = io.imread('baboon.png')
img_grayscale = rgb2gray(img)

بیایید جلو برویم و تصویر جدید (مقیاس خاکستری) را در یک فایل ذخیره کنیم. این را می توان با استفاده از تابع imsave () به شرح زیر انجام داد (توجه کنید که تصویر جدید در فایل baboon-gs.png قرار دارد):

io.imsave('baboon-gs.png',img_grayscale)

برای بررسی ابعاد تصویر، می توانیم از اسکریپت قسمت قبل استفاده کنیم، در این صورت شما 2 مورد را پس می گیرید. یا می توانید از img_grayscale.shape استفاده کنید که نتیجه آن 512×512 است. بنابراین، ما اکنون یک تصویر دو بعدی داریم.

برای نشان دادن تصویر جدید در مقیاس خاکستری، موارد زیر را به انتهای اسکریپت اضافه کنید:

show_grayscale = io.imshow(img_grayscale)
io.show()


پردازش تصویر با استفاده از پایتون
 

اعمال فیلتر بر روی تصویر

در پردازش تصویر، فیلترینگ انجام می شود تا برخی از پیشرفت ها را در تصویر ایجاد کند. به طور کلی، فیلترینگ شامل عملیات زیر است: افزایش لبه، تیز کردن و صاف کردن.

در این بخش، من به شما نشان می دهم که چگونه می توانیم فیلتر Sobel را روی تصویر خود اعمال کنیم، و ببینیم خروجی پس از انجام چنین عملیاتی چگونه است. من از مثال نشان داده شده در صفحه اول وب سایت scikit-image استفاده می کنم، اما روی تصویر ما اعمال شده است.

اسکریپت اعمال فیلتر Sobel روی تصویر ما به شرح زیر است:

from skimage import data, io, filters
img = io.imread('baboon.png')
edges = filters.sobel(img)
io.imshow(edges)
io.show()

اگر اسکریپت را اجرا کنید، آیا مشکلی مشاهده کردید؟ بله، ما نمی توانیم عملیات را اعمال کنیم زیرا تصویر باید یک تصویر دو بعدی باشد. بنابراین، به جای استفاده از baboon.png، ما باید از تصویر دو بعدی خود، baboon-gs.png استفاده کنیم. خروجی این عملیات به صورت زیر است:


پردازش تصویر با استفاده از پایتون
 

نتیجه گیری

بسیاری از عملیات پردازش تصویر وجود دارد و کتابخانه scikit-image Python بسیاری از عملیات جالب را در اختیار ما قرار می دهد که می توانیم روی تصاویر خود انجام دهیم. می توانید عملیات پردازش تصویر بیشتری را با استفاده از این کتابخانه در وب سایت scikit-image مشاهده کنید.


لینک کوتاه مطلب :
https://sourcesoft.ir/?p=3437

درباره نویسنده

تیم محتوا 11 نوشته در سورس سافت دارد . مشاهده تمام نوشته های

دیدگاه ها


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

logo-samandehi