Python 7.OpenCV 获取执行时间 抠图添加到另一个图(类似水印)

import cv2
import numpy as np

img1 = cv2.imread('pic1.png')
img2 = cv2.imread('logo.png')

rows, cols, channels = img2.shape
roi = img1[0:rows, 0:cols]

img2gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
# 获取二值化图像
ret, mask = cv2.threshold(img2gray, 200, 255, cv2.THRESH_BINARY)
# 获取二值化图像的反转图像
mask_inv = cv2.bitwise_not(mask)


e1 = cv2.getTickCount()#获取现在的时间

# get the argument of image
print(img1.shape)
print(img1.size)
print(img1.dtype)

e2 = cv2.getTickCount()#获取现在的时间
t = (e2-e1)/cv2.getTickFrequency()#计算时间
print(t)
# 获取掩膜等,还没搞清
img1_bg = cv2.bitwise_and(roi, roi, mask=mask_inv)
img2_fg = cv2.bitwise_and(img2, img2, mask=mask_inv)

# 图片相加
dst1 = cv2.add(img1_bg, img2_fg)
img1[0:rows, 0:cols] = dst1

# dst2 = cv2.addWeighted(img1, 0.5, img2, 0.5, 0)

cv2.imshow("roi", roi)
cv2.imshow("mask", mask)
cv2.imshow("mask_inv", mask_inv)
cv2.imshow("img1_bg", img1_bg)
cv2.imshow("img2_fg", img2_fg)
cv2.imshow("img1", img1)

cv2.imshow("img2", img2)
cv2.waitKey(0)
cv2.destroyAllWindows()

发布了54 篇原创文章 · 获赞 41 · 访问量 7904

猜你喜欢

转载自blog.csdn.net/qq_36071362/article/details/104108621