معرفی 3 ماژول پایتون برای پردازش تصاویر – قسمت هشتم
موسسه پایا پروژه به عنوان متصدی انجام پروژه های پردازش تصویر با پایتون وظیفه ی خود می داند که در راستای آموزش نرم افزار پایتون گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی متلب مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.
در این آموزش قصد داریم تا به نحوه برش و تغییر اندازه تصاویر با استفاده از زبان برنامه نویسی پایتون بپردازیم. در این مطالب ما به معرفی و استفاده از کتابخونه های مختلف برای پردازش تصاویر می پردازیم.
۱ـ تصویر مد نظر
در این مطالب ما به تغییرات مختلفی اعم از برش و تغییر اندازه تصاویر می پردازیم و تصویر انتخابی ما به شرح زیر هست:

این تصویر ابتدا با استفاده از توابع مختلف خوانده و جهت اعمال تغییرات ما آماده می شود.
۲ـ برش تصویر
ابتدا ما نیاز داریم که ماژول cv2 از کتابخانههای پایتون (Python) را فراخوانی کنیم و پس از خواندن تصویر، طول و عرض تصویر را استخراجکنیم:
import cv2
import numpy as n from matplotlib
import pyplot as plt %matplotlib inline
img = cv2.imread(“ImageProcessingSample.jpg”,1)
height, width = img.shape[0:2]
حال ابتدا و انتهای ستون و ردیف موردنظر را تعریف میکنیم. این امر اندازه تصویر جدید را تعریف خواهد کرد. برای مثال: آغاز از ردیف شماره ۱۰ تا ردیف شماره ۱۵ طول تصویر را تعریف خواهد کرد.
بهطور مشابه، شروع از ستون ۱۰ تا ستون ۱۵، عرض تصویر را معین خواهد کرد.
شما میتوانید نقاط ابتدایی را با تعیین درصد مجموع طول و عرض تعیین کنید. بهطور مشابه برای معین کردن نقطه انتهایی از همین روش استفاده کنید. درصد مقادیر را مانند زیر ایجاد کنید:
startRow = int(height*.15)
startCol = int(width*.15)
endRow = int(height*.25)
endCol = int(width*.35)
۲ـ۱ اعمال کردن آرایه ها در تصاویر
حالا این مقادیر را برای انجام پردازش تصویر با پایتون توسط OpenCV بر روی تصویر اصلی اعمال میکنیم. توجه داشته باشید که مقادیر آغازین و پایانی را به اعداد صحیح تبدیل میکنیم؛ چراکه مقادیر ایندکس همیشه صحیح هستند.
,croppedImage = img[startRow:
[endRow, startCol:endCol
حال ما مقادیر آغازین و پایانی از ردیفها و ستونها را مشخص کردیم.
تصویر اصلی و برش دادهشده را در خروجی نمایش میدهیم:
,plt.imshow(cv2.cvtColor(croppedImage,
((cv2.COLOR_BGR2RGB
() plt.show
نتیجه کد پردازش تصویری پایتون مانند زیر خواهد بود:

۳ـ تغییر اندازه تصویر
شما به منظور تغییر اندازه تصویر در OpenCV میتوانید از متد resize() استفاده کنید. در متد resize شما میتوانید مقادیر مختصات x و y یا ردیفها و ستونهایی که اندازه تصویر است را مشخص کنید.
OpenCV را فراخوانی کنید و تصویر را بخوانید:
,rotatedImage = cv2.warpAffine(img
(rotationMatrix, (width, height)
,plt.imshow(cv2.cvtColor(rotatedImage
((cv2.COLOR_BGR2RGB
() plt.show
=img
cv2.imread(“ImageProcessingSample.jpg”,1)
حال از متد resize و مقادیر مختصات استفاده کنید:
newImg = cv2.resize(img, (0,0), fx=0.35,
(fy=0.35
,plt.imshow(cv2.cvtColor(newImg
((cv2.COLOR_BGR2RGB
() plt.show
نتیجه مانند زیر است:

۳ـ ۱ تغییر اندازه با سطر و ستون
حال با استفاده از مقادیر سطر و ستون، تصویر را تغییر اندازه میدهیم:
newImg = cv2.resize(img, (155, 135))
,plt.imshow(cv2.cvtColor(newImg
((cv2.COLOR_BGR2RGB
()plt.show
ما اعلام میکنیم به ۱۵۵ستون (عرض) و ۱۳۵ردیف (ارتفاع) نیاز داریم.
نتیجه پردازش تصویر با پایتون توسط OpenCV همانند زیر خواهد بود:

۴ـ جمع بندی
در این مطالب به معرفی ماژول ها و کتابخونه هایی پرداختیم که می توانیم با استفاده از توابع آنها، تصاویر را تغییر اندازه و تغییر جهت بدهیم. همچنین مثال های متنوعی رو همراه با تصاویر خروجی بهتون نشون دادیم. در قسمت بعدی قصد داریم تا درباره کانترست و یا روشنایی تصاویر توضیحاتی رو بهتون ارائه کنیم.
