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()


相关推荐
AI木马人17 小时前
13.【多租户架构实战】如何让一个AI系统同时服务多个用户且数据完全隔离?(完整设计方案)
人工智能·架构
sjsjsbbsbsn17 小时前
大模型核心知识总结
java·人工智能·后端
qq_4112624218 小时前
四博 AI 双目智能音箱方案:把“会说话的音箱”升级成“会表达、会感知、会控制”的 AI 终端
人工智能·智能音箱
努力努力再努力FFF18 小时前
跨境电商运营想用AI优化广告和选品,该从哪里开始学?
人工智能
薛定猫AI18 小时前
【深度解析】Claude Code Skills 工作流:用知识图谱、设计规范与 Agent 工具链提升 AI 编程效率
人工智能·知识图谱·设计规范
AI自动化工坊18 小时前
Cloudflare Project Think技术实践:零成本AI Agent部署架构深度解析
人工智能·架构·agent·cloudflare
IT_陈寒19 小时前
JavaScript里这个隐式类型转换的坑,我终于爬出来了
前端·人工智能·后端
星幻元宇VR19 小时前
VR航空航天科普设备助力航天知识普及
人工智能·科技·学习·安全·vr·虚拟现实
Agent产品评测局19 小时前
制造业生产调度自动化落地,完整步骤与避坑指南:2026企业级智能体选型与实战全景
运维·人工智能·ai·chatgpt·自动化
志栋智能19 小时前
超自动化巡检:让合规与审计变得轻松简单
运维·网络·人工智能·自动化