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

شکل ۱. کتابخانه نهایی پایتونمنتشر شده در 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 mahotasimport mahotas.demosimport numpy as npfrom pylab import imshow, gray, showfrom os import pathphoto = 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 مهم‌ترین کتابخانه پردازش تصویر است که ما قصد داریم در آینده از آن استفاده کنیم، داشتن کمی دانش در مورد دیگر کتابخانه‌های پردازش تصویر قطعا ایده خوبی خواهد بود.تمام این کتابخانه‌ها می‌توانند روند کار شما را با پیاده‌سازی ساده‌تر برای عملکردهای خاص آسان‌تر کنند.برای اینکه بیشتر در مورد این کتابخانه‌ها بدانید، همیشه می‌توانید اسناد رسمی را دنبال کنید و همچنین با جامعه منبع باز که این کتابخانه‌ها دارند مشورت کنید.این متن با استفاده از ربات ترجمه مقالات علم داده ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.