در این پست با استفاده از کتابخانه پردازش تصویر 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 اولین بار در اوپن مایند. پدیدار شد.