您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:OpenCV半小时掌握基本操作之图像裁剪融合

51自学网 2021-10-30 22:14:33
  python
这篇教程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:3dog_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])# 加10img_new = img1 + 10print("image_new:/n", img_new[:5, :, 0])# 超过255的变成数值%256img_add = img1 + img2print("image_add:/n", img_add[:5, :, 0])# 超过255的变成255img_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图像裁剪融合内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


Python retrying 重试机制的使用方法
OpenCV半小时掌握基本操作之边界填充
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。