در این قسمت تیم کدگیت را با آموزش خواندن تصاویر در پایتون (پردازش تصویر) همراهی کنید. در این آموزش ابتدا کتاب خانهای که پایتون برای کار با تصاویر آماده کرده است را معرفی میکنیم و سپس به پیاده سازی مثالی میپردازیم.
پردازش تصویر
پردازش تصاویر امروزه بیشتر به موضوع پردازش تصویر دیجیتال گفته میشود که شاخهای از دانش رایانه است که با پردازش سیگنال دیجیتال که نماینده تصاویر برداشته شده با دوربین دیجیتال یا پویش شده توسط پویشگر هستند سر و کار دارد.
پردازش تصاویر دارای دو شاخه عمده بهبود تصاویر و بینایی ماشین است. بهبود تصاویر دربرگیرنده روشهایی چون استفاده از فیلتر محوکننده و افزایش تضاد برای بهتر کردن کیفیت دیداری تصاویر و اطمینان از نمایش درست آنها در محیط مقصد (مانند چاپگر یا نمایشگر رایانه)است، در حالی که بینایی ماشین به روشهایی میپردازد که به کمک آنها میتوان معنی و محتوای تصاویر را درک کرد تا از آنها در کارهایی چون رباتیک و محور تصاویر استفاده شود.
خواندن تصاویر در پایتون
در این جلسه برای اینکه یک تصویر را در پایتون بخوانیم از کتابخانه Pillow استفاده میکنیم. Pillow کتابخانه ای برای کار با تصاویر بوده و از بسیاری فرمتهای تصاویر پشتیبانی می کند. همچنین این کتابخانه متن باز (Open Source) است. قبل از استفاده این کتابخانه ابتدا باید آن را نصب کنید. پس از نصب با استفاده از import از آن استفاده میکنیم. کد زیر یک تصویر را با استفاده این کتابخانه میخوانیم:
from PIL import Image
if __name__ == '__main__':
im = Image.open('baboon.png', 'r')
ابتدا کلاس Image در ماژول PIL را فراخوانی کرده و سپس با کمک تابع open تصویر baboon.png را میخوانیم. شما برای خواندن تصویر میتوانید بهجای baboon.png آدرس فایل تصویر خود را قرار دهید.
im = Image.open("D:/images/sample-image.png")
برای دریافت سایز تصویر از تابع size استفاده میکنیم.
width, height = im.size
برای دسترسی به مقادیر پیکسلهای تصویر از تابع getpixel استفاده میشود. در کد زیر ابتدا یک تصویر را خوانده و مقادیر RGB هر پیکسل را چاپ میکنیم.
from PIL import Image
if __name__ == '__main__':
im = Image.open('baboon.png', 'r')
pix_val = im.load()
width, height = im.size
for i in range(00, width, 1):
for j in range(00, height, 1):
p = im.getpixel((i, j))
print("pixel[",i,",",j,"]=", p)
قسمتی از خروجی کد بالا به صورت زیر میباشد:
pixel[ 127 , 386 ]= (58, 70, 84)
pixel[ 127 , 387 ]= (144, 145, 145)
pixel[ 127 , 388 ]= (92, 102, 127)
pixel[ 127 , 389 ]= (154, 170, 178)
pixel[ 127 , 390 ]= (172, 203, 206)
pixel[ 127 , 391 ]= (188, 203, 200)
pixel[ 127 , 392 ]= (156, 146, 145)
pixel[ 127 , 393 ]= (118, 168, 180)
pixel[ 127 , 394 ]= (113, 113, 118)
pixel[ 127 , 395 ]= (71, 68, 107)
pixel[ 127 , 396 ]= (122, 143, 159)
pixel[ 127 , 397 ]= (117, 147, 156)
pixel[ 127 , 398 ]= (144, 180, 189)
تصویر زیر ورودی برنامه ما میباشد:

ببخشید قبل از
from PIL import Image
چیزی لازمه؟ چون ارور میده.
سلام. این خطا مربوط به نصب نبودن ماژول pillow هست. این ماژول رو باید نصب کنید. با دستور pip install pillow می تونید ماژول رو نصب کنید.
سلام
if __name__ == ‘__main__’:
تو کد بالا name و main چی هست ؟