منبع اصلی نوشتار زیر در این لینک قرار دارد

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

در این پست با استفاده از کتابخانه پردازش تصویر OpenCV  دو تصویر را با هم ترکیب (blend) می‌کنیم. برای ترکیب دو تصویر از دو تصویر دریا و حکیم فردوسی که در زیر مشاهده می‌شوند استفاده می‌کنیم.

برای این کار کد زیر را با استفاده از پایتون و اوپن.سی.وی نوشته‌ایم:

# import OpenCV package
import cv2

# read image 1
img1 = cv2.imread(filename='landscape_1.jpeg')
# dimentions of image 1
print('img1 dimensions: ', img1.shape)

# read image 2
img2 = cv2.imread(filename='ferdosi.jpg')
# dimensions of image 2
print('img2 dimensions: ', img2.shape)

# smallest dimensions
height, width, depth = min(img1.shape[0], img2.shape[0]), min(img1.shape[1], img2.shape[1]), 3
print('blended image dimensions: ', height, width, depth)

# resize image 1 to size of blended image
img1_resize = cv2.resize(src=img1, dsize=(width, height))

# resize image 2 to size of blended image
img2_resize = cv2.resize(src=img2, dsize=(width, height))


alpha = 0.5
beta = 0.5

# blend two image
blend_image = cv2.addWeighted(src1=img1_resize, alpha=alpha, src2=img2_resize, beta=beta, gamma=0)

# save result in file
cv2.imwrite(filename='ferdosi-landscape.jpg', img=blend_image)

# show result
cv2.imshow(winname='window_blend', mat=blend_image)
cv2.waitKey()

 

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

pip install opencv-python

import cv2 : برای استفاده از کتابخانه اوپن.سی.وی است.

imread : برای خواندن فایل یک تصویر است که آدرس فایل را به عنوان ورودی می‌گیرد.

shape: با استفاده از این خصوصیت طول و عرض و عمق تصویر را به‌دست می‌آوریم.

resize : از آنجایی که دو تصویر ورودی اندازه هم نیستند، اندازه آن‌ها را با استفاده از دستور resize تغییر می‌دهیم تا اندازه‌شان یکسان شود. این دستور یک تصویر و اندازه جدیدش را می‌گیرد.

alpha و beta: دو مقداری هستند که نشان می‌دهد تصویر جدید باید از هر کدام از تصویر‌ها به چه میزان در خود داشته باشد.

addWeighted: دو تصویر را به صورت وزن‌دار با یک دیگر ترکیب می‌کند.

imshow: یک تصویر را نمایش می‌دهد که دو آرگمان می‌گیرد. یک تصویر و نام پنجره‌ای که تصویر را در آن نشان می‌دهد، دو آرگمان آن است.

waitKey: برای این است که تصویر بر روی نمایشگر نمایش داده شود.

 

در زیر تصویر خروجی این کد را مشاهده می‌کنید:

نوشته ترکیب دو تصویر با استفاده از کتابخانه پردازش تصویر OpenCV اولین بار در اوپن مایند. پدیدار شد.



برچسب ها : ,