Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การดำเนินการคณิตศาสตร์กับภาพด้วย OpenCV ใน Python

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับการดำเนินการคณิตศาสตร์ (Arithmetic Operations) กับภาพโดยใช้ OpenCV เราสามารถทำ operations เช่น การบวก, การลบ, Bitwise Operations ฯลฯ

ติดตั้ง OpenCV

ติดตั้งโมดูล OpenCV ด้วยคำสั่ง:

pip install opencv-python==4.1.1.26

การบวกภาพ (Addition)

ใช้ cv2.addWeighted() สำหรับผสมผสานภาพสองภาพ รับอาร์กิวเมนต์ 5 ตัว: ภาพ 2 ภาพ, น้ำหนัก (weight) ของแต่ละภาพ, และค่า gamma (ค่าแสงเพิ่มเติม)

ภาพต้นฉบับ

image_one

การดำเนินการคณิตศาสตร์กับภาพด้วย OpenCV ใน Python

image_two

การดำเนินการคณิตศาสตร์กับภาพด้วย OpenCV ใน Python

ตัวอย่างโค้ด

import cv2

# reading the images
image_one = cv2.imread('_1.jpg')
image_two = cv2.imread('_2.jpg')

# adding two images with equal weights (0.5 each) and gamma=0
result_image = cv2.addWeighted(image_one, 0.5, image_two, 0.5, 0)

# displaying the final image
cv2.imshow('Final Image', result_image)

# deallocating memory
if cv2.waitKey(0) & 0xff == 27:
    cv2.destroyAllWindows()

ผลลัพธ์

Final Image

การดำเนินการคณิตศาสตร์กับภาพด้วย OpenCV ใน Python

การลบภาพ (Subtraction)

ใช้ cv2.subtract(image_one, image_two) สำหรับการลบภาพหนึ่งออกจากอีกภาพหนึ่ง

ตัวอย่างโค้ด

import cv2

image_one = cv2.imread('_1.jpg')
image_two = cv2.imread('_2.jpg')

# subtracting two images
result_image = cv2.subtract(image_one, image_two)

cv2.imshow('Final Image', result_image)

if cv2.waitKey(0) & 0xff == 27:
    cv2.destroyAllWindows()

ผลลัพธ์

Final Image

การดำเนินการคณิตศาสตร์กับภาพด้วย OpenCV ใน Python

สรุป

OpenCV 提供了 addWeighted() สำหรับการผสมภาพ (blending) และ subtract() สำหรับการลบภาพ หากมีข้อสงสัย สามารถถามได้ในส่วนความคิดเห็น