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


相关推荐
阿拉斯攀登1 小时前
安全与可控性:输出校验、权限控制
人工智能·chatgpt·agent·memory·claude·知识库·向量数据库
冬奇Lab1 小时前
每日一个开源项目(第152篇):SAG - 用 SQL JOIN 代替 PageRank 做多跳 RAG 检索
人工智能·开源
冬奇Lab1 小时前
Workflow 系列(09):主流框架对比——Prompt-based、LangGraph、Temporal、n8n 如何选
人工智能·工作流引擎
程序员老猫2 小时前
vide coding 个人产品,那就从博客开始吧
人工智能·程序员·全栈
geo搜搜果数据2 小时前
实测5大AI平台品牌排名:复现GEO监测流程
人工智能·langchain·搜搜果
minge00013 小时前
【世界杯中的AI】(2026-07-05)当足球遇见AI:7月5日世界杯的“人机共舞”与冷门之夜
人工智能·科技·世界杯
IT_陈寒3 小时前
闭包陷阱让我加了两天班,JavaScript你真行
前端·人工智能·后端
wumingxiaoyao4 小时前
从 0 开始学 AI:第 2 课,AI、机器学习、深度学习和大模型是什么关系?
人工智能·深度学习·机器学习·ai·大模型·llm
2601_962683894 小时前
治理遗留系统中的“生肉 SQL”:一次用多模型协作优化慢查询的实战复盘
数据库·人工智能·sql