【OpenCV】高手勿入! 半小时学会基本操作 4
  • 概述
  • 图像裁剪
  • 数值计算
  • 图像融合

概述

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

opencv拉伸 opencv 图片拉伸_面试

图像裁剪

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

格式:

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

opencv拉伸 opencv 图片拉伸_opencv拉伸_02


原图:

opencv拉伸 opencv 图片拉伸_opencv拉伸_03

例子:

# 读取数据
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()

输出结果:

opencv拉伸 opencv 图片拉伸_学习_04

数值计算

# 读取图片
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]]