۵ کتابخانه نهایی پایتون برای پردازش تصویر

شکل ۱. کتابخانه نهایی پایتون
شکل ۱. کتابخانه نهایی پایتون
منتشر شده در towardsdatascience به تاریخ ۲۹ جولای ۲۰۲۱
لینک منبع 5 Ultimate Python Libraries for Image Processing

پردازش تصویر پدیده دستکاری یک تصویر برای استخراج ویژگی‌ها از آن است.

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

گاهی اوقات این الگوریتم‌ها به فریم‌های ویدئویی نیز اعمال می‌شوند تا ویژگی‌ها را از آن‌ها استخراج کنند.

در مقاله امروز، نگاهی به ۵ کتابخانه خوب پایتون می‌اندازیم که ممکن است به شما کمک کنند تا دستکاری تصاویری مانند کراپ کردن، مقیاس گذاری خاکستری و غیره را انجام دهید.

۱. کتابخانه OpenCV

کتابخانه OpenCV یکی از محبوب‌ترین و پراستفاده ترین کتابخانه‌های پردازش تصویر و بینایی کامپیوتر است. این کتابخانه شفاهی می‌تواند با بسیاری از زبان‌های برنامه‌نویسی مانند C، C + +، پایتون، جاوا استفاده شود اما کتابخانه الزامات پایتون محبوب‌ترین کتابخانه است.

نه تنها دستکاری تصویر بلکه الگوریتم‌های پیچیده یادگیری عمیق مربوط به بینایی کامپیوتر نیز می‌توانند به راحتی با استفاده از این کتابخانه پیاده‌سازی شوند. بهترین چیز در مورد CV باز این است که آن یک کراس-پلتفرم است و می‌تواند با دستگاه‌های تلفن همراه نیز کار کند.

نصب

pip install opencv-python

انجام یک Gaussian blur بر روی یک تصویر. ما از Colab استفاده خواهیم کرد زیرا در آنجا نیازی به تنظیم محیط نداریم - همه چیز در اینجا از قبل راه اندازی شده است.

اول از همه، بیایید بسته‌های لازم را وارد کنیم. اگرچه Colab از دستور cv2.imsh () پشتیبانی نمی‌کند-اما ما یک جایگزین برای آن داریم.

import cv2import numpy as npimport urllibimport urllib.request as urfrom google.colab.patches import cv2_imshow

اکنون، اجازه دهید یک تصویر را از اینترنت بارگذاری کرده و چند فیلتر اعمال کنیم.

resp = ur.urlopen("https://thumbor.forbes.com/thumbor/960x0/https%3A%2F%2Fspecials-images.forbesimg.com%2Fdam%2Fimageserve%2F1068867780%2F960x0.jpg%3Ffit%3Dscale")

image = np.asarray(bytearray(resp.read()), dtype="uint8")

im = cv2.imdecode(image, cv2.IMREAD_COLOR)

blur = cv2.GaussianBlur(im, (5,5),0)

cv2_imshow(blur)

شکل ۲. تصویر مات شده بعد از اعمال فیلتر
شکل ۲. تصویر مات شده بعد از اعمال فیلتر

۲. کتابخانه SimpleCV

کتابخانه SimpleCV یک چارچوب پایتون است که از کتابخانه‌های دید کامپیوتری مانندOpenCV استفاده می‌کند. استفاده از این کتابخانه بسیار ساده و آسان است و می‌تواند واقعا برای نمونه‌سازی سریع مفید باشد.

این کتابخانه می‌تواند به طور خاص برای کسانی که دانش مفاهیم مختلف دستکاری تصویر مانند مقادیر ویژه، فضاهای رنگی، و عمق بیت را ندارند، مفید باشد.

نصب

pip install SimpleCV

این کتابخانه می‌تواند انتخاب بهتری برای بازی با وظایف تشخیص اشیا باشد. شما می‌توانید با استفاده از این کتابخانه کارهای جالبی مثل تشخیص اینکه آیا یک ماشین پارک شده‌است یا نه را پیدا کنید.

۳. کتابخانه Pillow

پیلو یک کتابخانه پردازش تصویر برای پایتون است که از PIL یا کتابخانه تصویر سازی پایتون گرفته شده‌است. اگرچه این تکنیک به اندازهopenCV قدرتمند و سریع نیست، اما می‌تواند برای دستکاری تصویر ساده مانند کراپ کردن، تغییر اندازه‌، چرخش و خاکستری کردن تصویر مورد استفاده قرار گیرد. مزیت دیگر این روش این است که می توان از آن بدون«NumPy» و «Matplotlib» استفاده کرد.

نصب

pip install pillow

برای خواندن یک تصویر در PIL می‌توانیم از این استفاده کنیم:

from PIL import Imageim = Image.open(r&quotC:\Users\System-Pc\Desktop\image1.jpg&quot)im.show()

۴. کتابخانه Mahotas

ماهوتاس یک کتابخانه پایتون برای پردازش تصویر و دید کامپیوتری است که در اصل برای اطلاعات بیوتصاویر طراحی شده‌است. اما دیگر وظایف بینایی کامپیوتر نیز می‌توانند با استفاده از آن انجام شوند. این زبان در اصل در C + + نوشته شده‌است که آن را بسیار سریع می‌سازد و هیچ وابستگی‌هایی به جز NumPy ندارد.

نصب

pip install mahotas

سیاه سفید کردن یک تصویر با استفاده از ماهوتاس:

import mahotas

import mahotas.demos

import numpy as np

from pylab import imshow, gray, show

from os import path

photo = mahotas.demos.load('luispedro', as_grey=True)

photo = photo.astype(np.uint8)

gray()

imshow(photo)

show()

در نهایت، پس از اجرای کد-می‌توانیم نتیجه زیر را به دست آوریم.

شکل ۳. اسکرین‌شات
شکل ۳. اسکرین‌شات

۵. کتابخانه pgmagick

کتابخانهPgmagick یک پوشش پایتون برای GraphicsMagick است که مجموعه‌ای از ابزارها و کتابخانه‌ها برای دستکاری تصاویر است. از بیش از ۸۸ فرمت تصویر پشتیبانی می‌کند. به غیر از کار پردازش تصویر، می توان از آن در برنامه‌های کاربردی وب برای ایجاد تصاویر جدید استفاده کرد.

نصب

pip install pgmagick

برای استخراج لبه از یک تصویر:

from pgmagick.api import Imageimg = Image(‘lena.jpg’) #Your image path will come hereimg.edge(2)img.write(‘lena_edge.jpg’)

نتیجه‌گیری

اگرچهOpenCV مهم‌ترین کتابخانه پردازش تصویر است که ما قصد داریم در آینده از آن استفاده کنیم، داشتن کمی دانش در مورد دیگر کتابخانه‌های پردازش تصویر قطعا ایده خوبی خواهد بود.

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

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

این متن با استفاده از ربات ترجمه مقالات علم داده ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.
مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.