cv2 faceMorph(面部合成)

2021-09-06 23:16:00 字數 916 閱讀 8853

本文主要介紹使用cv2實現人臉面部合成。

下面是示例**:

import numpy as np

import cv2

# 從文字檔案中讀取點

def readpoints(file):

# 建立陣列儲存點

points =

with open(file) as file:

for line in file:

x, y = line.split()

return points

# 將使用srctri和dsttri計算的仿射變換應用於src並返回結果影象。

# 給定一對三角形,找到仿射變換

warpmat = cv2.getaffinetransform(np.float32(srctri), np.float32(dsttri))

# 將仿射變換應用於src

dst = cv2.warpaffine(src, warpmat, (size[0], size[1]), none, flags=cv2.inter_linear, bordermode=cv2.border_reflect_101)

return dst

# warp和alpha將img1和img2的三角形區域混合到img中

def morph********(img1, img2, img, t1, t2, t, alpha):

# 找到每個三角形區域的包絡矩形

r1 = cv2.boundingrect(np.float32([t1]))

r2 = cv2.boundingrect(np.float32([t2]))

r = cv2.boundingrect(np.float32([t]))

# 各個矩形左上角的偏移點

t1rec

anaconda安裝cv2 cv2配置那些坑

第一次執行opencv程式時難免會出現各種error 下面覃原列舉自己在執行過程 現的錯誤,說不定會有你遇到的哦 error 2syntaxerror unicode error unicodeescape codec can t decode bytes in position 2 3 trunc...

CV00 03 CV基本操作2

similarity transform相似變換 影象形狀大小不變,位置發生變化。比如 做平移 旋轉。相似變換具有保角性 保比例性,經過相似變換以後原有的角度和比例保持不變。確定乙個相似變換矩陣需要2對點 原影象2個點,對應變換後影象2個點 opencv中相似變換的api如下。獲取旋轉矩陣,旋轉中心...

cv2作弊手冊

img cv2.imread cv2.imshow show img cv2.waitkey cv2.destroyallwindows 視窗只會在呼叫waitkey 函式時才會更新 數學表示 所有的波形都可以由一系列簡單且頻率不同的正弦曲線疊加得到。影象由許多頻率組成,分離不同的頻率來理解影象和提...