OpenCV半小时掌握基本操作之图像裁剪融合

 更新时间:2021年09月01日 16:27:51   作者:我是小白呀  
这篇文章主要介绍了OpenCV基本操作之图像裁剪融合,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

【OpenCV】⚠️高手勿入! 半小时学会基本操作 ⚠️图像裁剪融合

概述

OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界.

在这里插入图片描述

图像裁剪

cv2.resize能帮助我们读图像进行裁剪.

格式:

cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])
  • src: 需要裁剪的图片
  • dsize: 裁剪的大小
  • fx: x 轴比例
  • fy: y 轴比例

在这里插入图片描述

原图:

在这里插入图片描述

例子:

# 读取数据
dog = cv2.imread("dog.jpg")

# 拉伸比例1:3
dog_resize = cv2.resize(dog, (0, 0), fx=1, fy=3)
cv2.imshow("dog_resize", dog_resize)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

在这里插入图片描述

数值计算

# 读取图片
img1 = cv2.imread("picture.jpg")
img2 = cv2.imread("picture2.jpg")
img1 = cv2.resize(img1, (382, 383))  # 转换成一样大小

# 调试输出
print("image 1:\n", img1[:5, :, 0])
print("image 2:\n", img2[:5, :, 0])

# 加10
img_new = img1 + 10
print("image_new:\n", img_new[:5, :, 0])

# 超过255的变成数值%256
img_add = img1 + img2
print("image_add:\n", img_add[:5, :, 0])

# 超过255的变成255
img_add2 =cv2.add(img1, img2)
print("image_add2:\n", img_add2[:5, :, 0])

输出结果:

image 1:
[[206 206 206 ... 206 206 206]
[208 207 208 ... 207 207 208]
[208 207 208 ... 208 208 208]
[209 208 209 ... 209 209 209]
[209 209 209 ... 209 209 209]]
image 2:
[[187 187 187 ... 223 222 222]
[187 187 187 ... 224 224 223]
[187 187 187 ... 225 225 224]
[187 187 187 ... 225 225 225]
[187 187 187 ... 223 224 225]]
image_new:
[[216 216 216 ... 216 216 216]
[218 217 218 ... 217 217 218]
[218 217 218 ... 218 218 218]
[219 218 219 ... 219 219 219]
[219 219 219 ... 219 219 219]]
image_add:
[[137 137 137 ... 173 172 172]
[139 138 139 ... 175 175 175]
[139 138 139 ... 177 177 176]
[140 139 140 ... 178 178 178]
[140 140 140 ... 176 177 178]]
image_add2:
[[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]]

图像融合

cv2.addWeighted可以帮助我们融合两张图片.

格式:

cv2.addWeighted(src1, alpha, src2, beta, gamma, dst=None, dtype=None)

例子:

# 读取数据
cat = cv2.imread("cat.jpg")
dog = cv2.imread("dog.jpg")

# 输出维度
print(cat.shape)  # (554, 640, 3)
print(dog.shape)  # (611, 640, 3)

# 裁剪大小
dog = cv2.resize(dog, (640, 554))
print(dog.shape)  # (554, 640, 3)

# 图像融合
res = cv2.addWeighted(cat, 0.7, dog, 0.3, 0)
cv2.imshow("res", res)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

在这里插入图片描述

到此这篇关于OpenCV半小时掌握基本操作之图像裁剪融合的文章就介绍到这了,更多相关OpenCV图像裁剪融合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python全栈之推导式和生成器

    Python全栈之推导式和生成器

    这篇文章主要为大家介绍了Python推导式和生成器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python 异步等待任务集合

    Python 异步等待任务集合

    这篇文章主要为大家介绍了Python 异步等待任务集合,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 利用Python实现端口扫描器的全过程

    利用Python实现端口扫描器的全过程

    这篇文章主要给大家介绍了关于如何利用Python实现端口扫描器的相关资料,用来检测目标服务器上有哪些端口开放,本文适用于有 Python和计算机网络语言基础的用户,需要的朋友可以参考下
    2021-08-08
  • Python如何筛选序列中的元素的方法实现

    Python如何筛选序列中的元素的方法实现

    这篇文章主要介绍了Python如何筛选序列中的元素的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Django框架创建项目的方法入门教程

    Django框架创建项目的方法入门教程

    这篇文章主要介绍了Django框架创建项目的方法,结合实例形式分析了Django框架管理工具的使用及创建项目的相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • flask-SQLALchemy连接数据库的实现示例

    flask-SQLALchemy连接数据库的实现示例

    sqlalchemy是数据库的orm框架,让我们操作数据库的时候不要再用sql语句了,本文就介绍了flask-SQLALchemy连接数据库的实现示例,感兴趣的可以了解一下
    2022-06-06
  • 五个方便好用的Python自动化办公脚本的实现

    五个方便好用的Python自动化办公脚本的实现

    在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。Python因为语法简洁易懂,而且有丰富的第三方工具库,所以非常适合编写自动化脚本,本文就为大家带来了五个这样的脚本,需要的可以参考一下
    2022-01-01
  • windows上彻底删除jupyter notebook的实现

    windows上彻底删除jupyter notebook的实现

    这篇文章主要介绍了windows上彻底删除jupyter notebook的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • opencv-python的RGB与BGR互转方式

    opencv-python的RGB与BGR互转方式

    这篇文章主要介绍了opencv-python的RGB与BGR互转方式,具有很好的参考价值,希望对大家有所 帮助。一起跟随小编过来看看吧
    2020-06-06
  • Pytest mark使用实例及原理解析

    Pytest mark使用实例及原理解析

    这篇文章主要介绍了Pytest mark使用实例及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02

最新评论