آموزش برش عکس در پایتون

امیرحسین بیگدلو 12 ماه قبل

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

 

 

 #  روش اول: کتابخانه PIL

PIL کتابخانه داخلی پایتون برای کار با تصاویر است. PIL مخفف Python Image Library است که با آن میتوانید اقدام به ویرایش تصاویر کنید. بنابراین، بسیاری از توابع داخلی برای دستکاری تصویر و تجزیه و تحلیل گرافیکی را دارد. PIL تابع داخل ()Image.crop را دارد به شکل مستطیلی اقدام به برش عکس میکند. سینتکس کلی این دستور به شکل زیر است:

Image.crop(left, top, right, bottom)

 

  • top و left: مختصات سمت چپ و بالا را نشان میدهد.
  • right و bottom: مختصات سمت راست و پایین را نشان میدهد.

 

from PIL import Image 
  
img = Image.open("example.png") 
 
left = 0
top = 50
right = 510
bottom = 292

img_res = img.crop((left, top, right, bottom)) 
img_res.show()

 

در مثال بالا، متد open برای بازکردن عکس استفاده میشود. این متد عکس را در حالت خواندن(read) باز میکند. سپس مختصاتی که میخواهیم را مشخص کرده و با دستور crop اقدام به برش عکس کردیم. در نهایت با متد show عکس برش داده شده را نمایش میدهیم.

 

عکسی که برای برش استفاده کردیم:

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

 

عکس نهایی بعد از برش:

عکس نهایی بعد از برش

 

دوره پیشنهادی: دوره آموزش پایتون (python)

 

 #  روش دوم: فریمورک opencv

OpenCV پایتون یک کتابخانه با تعداد زیادی توابع در دسترس برای بینایی کامپیوتر است. opencv شامل مجموعه خوبی از توابع برای پردازش و تغییر تصویر است. برای پردازش تصویر با استفاده از OpenCV، باید کتابخانه OpenCV را با نسخه 3.0 و بالاتر نصب کنید. میتوانید با دستور زیر آخرین نسخه opencv را نصب کنید:

pip install opencv-python

 

ابتدا باید کتابخانه OpenCV را با استفاده از کد زیر ایمپورت کنیم:

import cv2

 

سینتکس کلی برای برش تصویر در opencv پایتون به شکل زیر است:

image[start_x:end_x, start_y:end_y]

 

بخش image[] از حالت یک آرایه برای برش تصویر استفاده میکند. مختصاتی که میخواهید را باید برای image ارسال کنید. متغیر x در جهت راست و چپ، و متغیر y در جهت بالا و پایین است.

 

مثال:

import cv2
image = cv2.imread(r"example.png")
 
y=0
x=0
h=300
w=510
crop_image = image[x:w, y:h]
cv2.imshow("Cropped", crop_image)
cv2.waitKey(0)

 

از متد imread برای باز کردن عکس در حالت خواندن(read) استفاده میشود. سپس مختصات برش عکس را مشخص کرده و به image ارسال کردیم. در آخر از متد imshow برای نمایش تصویر نهایی استفاده کردیم.

 

عکس نهایی به شکل زیر خواهد بود:

برش عکس با opencv پایتون

 

 

منبع: askpython و stackoverflow

مطالب مشابه



مونگارد