python添加水印的几种方式

第一种:

from moviepy.editor import *

def add_logo():
    LOGO_PATH = "image.png"
    video_path = r'video.mp4'
    video = VideoFileClip(video_path).subclip(t_start=3, t_end=(100))

    logo = (ImageClip(LOGO_PATH).set_duration(30)
            .resize(height=80)
            .margin(right=8, top=8,opacity=1)
            .set_pos(("right", "top")))
 
    final = CompositeVideoClip([video, logo])
    final.write_videofile("./logo.mp4", codec="libx264", bitrate="10000000")

add_logo()

第二种:

import cv2
import numpy as np
#importing the main image
image = cv2.imread('0.png')
oH,oW = image.shape[:2]
image = np.dstack([image, np.ones((oH,oW), dtype="uint8") * 255])


#importing the logo image
lgo_img = cv2.imread('picture.png',cv2.IMREAD_UNCHANGED)


#Resizing the image
scl = 10
w = int(lgo_img.shape[1] * scl / 30)
h = int(lgo_img.shape[0] * scl / 30)
dim = (w,h)
lgo = cv2.resize(lgo_img, dim, interpolation = cv2.INTER_AREA)
lH,lW = lgo.shape[:2]

#Blending
ovr = np.zeros((oH,oW,4), dtype="uint8")
ovr[oH - lH - 60:oH - 60, oW - lW - 10:oW - 10] = lgo
final = image.copy()
final = cv2.addWeighted(ovr,0.5,final,1,0,final)
cv2.imshow("logo",lgo)

第三种:

def add_image(src_img,logo_image,px,py):
    src_img = Image.fromarray(src_img)
    watermark = Image.open(logo_image)
    watermark = watermark.convert('RGBA')
    lw,lh = watermark.size
    watermark = watermark.resize((int(lw*scale),int(lh*scale)))
    lwr,lhr = watermark.size
    width, height = src_img.size
    transparent = Image.new('RGBA', (width, height), (0,0,0,0))
    transparent.paste(src_img, (0,0))
    transparent.paste(watermark, (px-lwr,py), mask=watermark)
    #transparent.show()
    transparent = numpy.asarray(transparent)
    return transparent

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值