IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 基于 OpenCV 的图像融合 -> 正文阅读

[人工智能]基于 OpenCV 的图像融合

基于 OpenCV 的图像融合

  1. 步骤1—图像导入
  2. 步骤2—调整图像大小
  3. 步骤3—融合图像
  4. 步骤4—导出结果
import cv2

'''
图片读取
img = cv2.imread(filepath,flags)
参数:
    filepath:要读入图片的完整路径
    flags:读入图片的标志
cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道 
cv2.IMREAD_GRAYSCALE:读入灰度图片
cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道
注意:cv2.imread()读进来直接是BGR,格式数据格式在0~255,不是我们最常见的RGB格式。
'''

步骤1 —图像导入

bg = cv2.imread('images/background.jpg', cv2.IMREAD_COLOR)
fg = cv2.imread('images/foreground.png', cv2.IMREAD_COLOR)

background.jpg
background.jpg
foreground.png
foreground.png

步骤2-调整图像大小

# 调整要混合的图像的大小。先调整图像大小,以确保它们的尺寸相同。
# 要使融合能够正常进行,需要使用相同的大小图像。否则,它将返回错误消息。
print(bg.shape)
print(fg.shape)
# 背景图像为682到1024像素。前景图像为576至1024像素。我们将使用OpenCV的调整大小功能调整它们的大小。

# cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None) —— 将原始图像调整为指定大小。
'''
scr:原始图像
dsize:输出图像的尺寸(元组方式)
dst:输出图像
fx:沿水平轴缩放的比例因子
fy:沿垂直轴缩放的比例因子
interpolation:插值方法,有5种插值方法
'''
dim = (1200, 800)
# cv2.INTER_AREA:使用像素区域关系进行重采样。
resized_bg = cv2.resize(bg, dim, interpolation=cv2.INTER_AREA)
resized_fg = cv2.resize(fg, dim, interpolation=cv2.INTER_AREA)
print(resized_bg.shape)
print(resized_bg.shape)

步骤3-融合图像

# 函数cv2.addWeighted()的主要功能就是将两幅图像合成为一幅图像
# 在对图像进行合成时,需要注意的一点是,图像的尺寸维度必须相同,才能使用此函数进行合成
# addWeighted函数,有5个参数,可以列出为:图像源1,src1权重,图像源2,src2权重,伽玛。每个图像的权重值必须小于1。
# 这是混合方程式: blend = (image scr1)*(src1 weight) + (image scr2)*(src2 weight) + gamma
# 我们给前景加了一些权重。这样,背景将更暗,文本将更亮。到目前为止一切顺利,混合完成。
blend = cv2.addWeighted(resized_bg, 0.5, resized_fg, 0.8, 0.0)

步骤4-导出结果

cv2.imwrite('images/blended.png', blend)

blend = cv2.imread('blended.png')
cv2.imshow('blend', blend)
cv2.waitKey(0)

blended.png
blended.png
参考链接:
https://blog.csdn.net/qq_42722197/article/details/111189516

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:39:40  更:2022-05-09 12:42:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:41:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码