opencv实现给图像加上logo图像

要用Python和OpenCV给图片加上logo,可以按照以下步骤实现:

  1. 读取logo和image图片。

  2. 调整logo的大小以适应image。

  3. 将logo放置在image的指定位置。

  4. 将logo和image合并。

以下是实现代码:

复制代码
import cv2

# 读取logo和image图片
logo = cv2.imread('logo.png', cv2.IMREAD_UNCHANGED)  # 读取带透明通道的logo
image = cv2.imread('image.jpg')

# 检查图片是否成功读取
if logo is None or image is None:
    print("图片读取失败,请检查文件路径是否正确。")
    exit()

# 获取logo的尺寸
logo_height, logo_width, logo_channels = logo.shape

# 获取image的尺寸
image_height, image_width, image_channels = image.shape

# 调整logo的大小(例如,将logo的宽度设置为image宽度的1/5)
scale = 0.2  # 调整比例
new_width = int(image_width * scale)
new_height = int(logo_height * (new_width / logo_width))
logo = cv2.resize(logo, (new_width, new_height))

# 获取调整后logo的尺寸
logo_height, logo_width, logo_channels = logo.shape

# 计算logo在image中的位置(例如,右下角)
x_offset = image_width - logo_width - 10  # 右下角,留10像素的边距
y_offset = image_height - logo_height - 10

# 提取logo的alpha通道(透明度)
alpha_logo = logo[:, :, 3] / 255.0
alpha_image = 1.0 - alpha_logo

# 将logo叠加到image上
for c in range(0, 3):  # 遍历RGB通道
    image[y_offset:y_offset + logo_height, x_offset:x_offset + logo_width, c] = (
        alpha_logo * logo[:, :, c] +
        alpha_image * image[y_offset:y_offset + logo_height, x_offset:x_offset + logo_width, c]
    )

# 保存结果
cv2.imwrite('image_with_logo.jpg', image)

# 显示结果(可选)
cv2.imshow('Image with Logo', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

代码说明:

  1. 读取图片 :使用cv2.imread读取logo和image图片。注意,logo图片需要是带有透明通道的PNG格式,因此使用cv2.IMREAD_UNCHANGED读取。

  2. 调整logo大小:根据image的尺寸,调整logo的大小。

  3. 计算logo位置:将logo放置在image的右下角,并留出一定的边距。

  4. 叠加logo:使用alpha通道(透明度)将logo叠加到image上。

  5. 保存和显示结果:将结果保存为新图片,并可选地显示出来。

注意事项:

  • 确保logo图片是PNG格式,且带有透明通道。

  • 如果logo图片没有透明通道,可以跳过alpha通道的处理部分,直接将logo叠加到image上。

运行代码后,image_with_logo.jpg将是带有logo的image图片。

相关推荐
秦ぅ时11 分钟前
Grok-3-Fast-Beta 完整解析:xAI 低延迟大模型 + 可直接运行调用代码
人工智能·gpt·microsoft
聚客AI29 分钟前
✅自托管AI网关的正确姿势:OpenClaw远程访问与安全配置
人工智能·agent·掘金·日新计划
brave and determined1 小时前
工程设计类学习(DAY25):高频PCB设计:射频布局与屏蔽腔体规范
人工智能·emc·电磁兼容·emi·屏蔽罩·电磁屏蔽·层叠设计
AI专业测评1 小时前
2026年AI写作软件底层逻辑横评:长篇网文如何破局“上下文遗忘”与“AI消痕”?
人工智能·自然语言处理·ai写作
霖大侠1 小时前
CPAL: Cross-Prompting Adapter With LoRAs forRGB+X Semantic Segmentation
人工智能·深度学习·算法·机器学习·transformer
火山引擎开发者社区2 小时前
火山 AI 生态新玩法:ArkClaw 一键生成漫剧,效率直接拉满
人工智能
一起来学吧2 小时前
【OpenClaw系列教程】第一篇:OpenClaw 完整介绍——开源 AI 智能体平台
人工智能·ai·openclaw·养龙虾
飞Link2 小时前
工业级时序异常检测利器:USAD 算法深度解析与实战
人工智能·深度学习·机器学习
光锥智能2 小时前
家庭服务机器人爆发前夜,追觅扫地机抢跑下个时代
人工智能·机器人
JGDT_2 小时前
筑牢数字底座,驱动智慧未来——全方位数据中台解决方案
大数据·人工智能·科技·系统架构