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

การดำเนินการเลขคณิตกับรูปภาพโดยใช้ OpenCV ใน Python


ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับการดำเนินการเลขคณิตในรูปภาพโดยใช้ OpenCV . เราสามารถใช้การดำเนินการต่างๆ เช่น การบวก การลบ การดำเนินการระดับบิต , ฯลฯ.. มาดูกันว่าเราจะดำเนินการกับรูปภาพได้อย่างไร

เราต้องใช้โมดูล OpenCV เพื่อดำเนินการกับรูปภาพ ติดตั้ง OpenCV โมดูลโดยใช้คำสั่งต่อไปนี้ในเทอร์มินัลหรือบรรทัดคำสั่ง

pip install opencv-python==4.1.1.26

หากคุณเรียกใช้คำสั่งข้างต้น คุณจะได้รับข้อความแสดงความสำเร็จดังต่อไปนี้

Collecting opencv-python==4.1.1.26
Downloading https://files.pythonhosted.org/packages/1f/51/e0b9cef23098bc31c77b0e0
6221dd8d05119b9782d4c2b1d1482e22b5f5e/opencv_python-4.1.1.26-cp37-cp37m-win_amd64.w
hl (39.0MB)
Requirement already satisfied: numpy>=1.14.5 in c:\users\hafeezulkareem\anaconda3\l
ib\site-packages (from opencv-python==4.1.1.26) (1.16.2)
Installing collected packages: opencv-python
Successfully installed opencv-python-4.1.1.26

เพิ่มเติม

เราสามารถเพิ่มสองภาพโดยใช้ cv2.addWeighted() . ต้องใช้ห้าอาร์กิวเมนต์ 2 ภาพ และน้ำหนักของภาพสุดท้ายจากทั้งคู่ และค่าแสงสำหรับภาพสุดท้าย

image_one

การดำเนินการเลขคณิตกับรูปภาพโดยใช้ OpenCV ใน Python

image_สอง

การดำเนินการเลขคณิตกับรูปภาพโดยใช้ OpenCV ใน Python

ตอนนี้เรากำลังจะเพิ่มสองภาพนั้นเป็นภาพเดียว

ตัวอย่าง

# importing cv2 module
import cv2
# reading the images and storing in variables
image_one = cv2.imread('_1.jpg')
image_two = cv2.imread('_2.jpg')
# adding two images
result_image = cv2.addWeighted(image_one, 0.5, image_two, 0.5, 0)
# displaying the final image
cv2.imshow('Final Image', result_image)
# deallocating the memory
if cv2.waitKey(0) & 0xff == 27:
   cv2.destroyAllWindows()

ผลลัพธ์

ภาพสุดท้าย

การดำเนินการเลขคณิตกับรูปภาพโดยใช้ OpenCV ใน Python

การลบ

เรามีวิธีการที่เรียกว่า cv2.substract(image_one, image_two) เพื่อทำการลบภาพสองภาพ เราจะใช้ภาพเดียวกันเป็นส่วนเสริม มาดูโค้ดกันเลย

ตัวอย่าง

# importing cv2 module
import cv2
# reading the images and storing in variables
image_one = cv2.imread('_1.jpg')
image_two = cv2.imread('_2.jpg')
# substracting two images
result_image = cv2.subtract(image_one, image_two)
# displaying the final image
cv2.imshow('Final Image', result_image)
# deallocating the memory
if cv2.waitKey(0) & 0xff == 27:
   cv2.destroyAllWindows()

ผลลัพธ์

ภาพสุดท้าย

การดำเนินการเลขคณิตกับรูปภาพโดยใช้ OpenCV ใน Python

บทสรุป

หากคุณมีข้อสงสัยเกี่ยวกับบทแนะนำ โปรดระบุในส่วนความคิดเห็น