Arithmetic Operations on Images

จาก Morange Wiki

การนำหลักการทางคณิตศาสตร์มาใช้งานร่วมกับรูปภาพ

วัตถุประสงค์

เรียนรู้การนำหลายๆหลักการทางคณิตศาสตร์มาใช้ร่วมกัน เช่นการ บวก ลบ หรือแล้วแต่จะเหมาะสมกับงาน
เรียนรู้การใช้งานฟังก์ชั่น cs2.add() , cv2.addWeighted()

การเพิ่มรูปภาพ

  • การเพิ่มรูปภาพสามารถทำได้โดยฟังก์ชั่น cv2.add() หรือใช้กระบวนการของ numpy เช่น res = img1 + img2 โดยทั้ง 2 ภาพที่เพิ่มนั้น ควรจะมีค่าความลึกและชนิดเหมือนกัน

เข้า Terminal และ พิมพ์ python แล้ว ทดลองพิมพ์ Code ต่อไปนี้

>>> x = np.uint8([250])
>>> y = np.uint8([10])
[[255]] # ผลลัพธ์ที่จะได้
>>> print cv2.add(x,y) # 250+10 = 260 => 255
>>> print x+y               # 250+10 = 260 % 256 = 4
[4] # ผลลัพธ์ที่จะได้

การรวมภาพและสูตร

  • ในการรวมภาพ ทั้งสองรูปภาพที่จะทำการรวมนั้น ควรจะมี ขนาดใกล้เคียงกัน เพราะจะทำให้รูปภาพดูเป็นกลมกลืนมากขึ้น โดยจะใช้หลักการทางคณิตศาสตร์ดังรูปด้านล่างนี้

Selection 055.png

  • สมมุติว่าหากเราเพิ่มรูปสองรูปภาพ ภาพแรกจะมีค่าน้ำหนัก (weight) ที่ 0.7 แล้ว ภาพที่ 2 ได้ 0.3 เราจะทำให้ภาพทั้งสองมีน้ำหนักผสมกันโดยใช้คำสั่ง cv2.addWeighted() ดังสูตรต่อไปนี้

Selection 056.png

จากสูตรสู่รูปแบบโค๊ดตัวอย่าง

img1 = cv2.imread('ex1.png')
img2 = cv2.imread('ex2.png')

dst = cv2.addWeighted(img1,0.7,img2,0.3,0) # 0 คือค่า γ 

cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()