OpenCV实现高斯模糊加水印

python 复制代码
# coding:utf-8
# @Email: wangguisen@donews.com
# @Time: 2023/4/21 10:07
# @File: utils.py
'''

'''
import cv2
import PIL
from PIL import Image
import numpy as np
from watermarker.marker import add_mark, im_add_mark
import matplotlib.pyplot as plt

# PIL Image转换成OpenCV格式
def PILImageToCV(imagePath):
    img = Image.open(imagePath)
    plt.imshow(img)
    img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
    plt.imshow(img)
    plt.show()

# OpenCV图片转换为PIL image
def CVImageToPIL(imagePath=None, img=None):
    # 自己改改
    # img = cv2.imread(imagePath)
    # plt.imshow(img)
    img2 = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
    # plt.imshow(img2)
    # plt.show()
    return img2

img = cv2.imread('./imgs/res_ori_test.jpg')

# 创建毛玻璃特效
# 参数2:高斯核的宽和高(建议是奇数)
# 参数3:x和y轴的标准差
dst = cv2.GaussianBlur(img, (99, 99), 333)
# cv2.imshow('dst', dst)


# add_mark(file="test1.jpg", out="add_mark_test1.jpg", mark="Python", opacity=0.2, angle=30, space=30)

dst = CVImageToPIL(img=dst)
image = im_add_mark(dst, text="Python", color="#8B8B1B", size=50, opacity=0.3, space=75, angle=30)
image.save("./imgs/add_mark_test1.png")

# add_mark(dst, out="./imgs/add_mark_test1.jpg", mark="Python", opacity=0.2, angle=30, space=30)

# cv2.waitKey()


相关推荐
vipxieliang14 分钟前
端侧芯片的「每瓦 Token 数」竞赛:端侧 AI 如何重塑芯片设计的底层逻辑
人工智能·openai
AI小百科16 分钟前
AI 进游戏:游戏里的 NPC 开始有自己的性格
人工智能·游戏·ai
陈工大模型16 分钟前
横琴×大湾区GEO规范共建计划正式启动:以“透明度量”重构跨境品牌信任新基建副标题:立足珠澳·辐射湾区——三方签约打造“可信GEO”全要素生态闭环
人工智能
狂师21 分钟前
Agent 测评指标怎么选、怎么算?
人工智能·agent·测试
BioTender24 分钟前
Xaira 发布 X-Automate:将物理 AI 与智能体 AI 引入实验室自动化
运维·人工智能·自动化
莪_幻尘35 分钟前
当 AI 拿到工牌:WorkBuddy 打通企微背后的 AI 工作流之争
人工智能·agent
Zachery Pole43 分钟前
【PlaNet 2】-RSSM机制
人工智能·深度学习·机器学习
麦壳饼1 小时前
SonnetDB 5.0 正式发布:增强 SQL 与事务,开放九模型 MCP 读写
数据库·人工智能·sql·sonnetdb
天天被压力1 小时前
【A股分钟级高频数据完全手册 #04】指数分钟级行情数据接口:沪深指数Pro版最新分时取数
java·人工智能·python
IT_陈寒1 小时前
Redis开发实战:从入门到精通
前端·人工智能·后端