华域联盟 Python OpenCV半小时掌握基本操作之图像裁剪融合

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图像裁剪融合内容请搜索华域联盟以前的文章或继续浏览下面的相关文章希望大家以后多多支持华域联盟!

您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » OpenCV半小时掌握基本操作之图像裁剪融合

转载请保留出处和原文链接:https://www.cnhackhy.com/34019.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部