机器学习进阶-图像基本操作-数值计算 1.cv2.add(将图片进行加和) 2.cv2.resize(图片的维度变换) 3.cv2.addWeighted(将图片按照公式进行重叠操作)

1.cv2.add(dog_img, cat_img)  # 进行图片的加和

参数说明: cv2.add将两个图片进行加和,大于255的使用255计数

2.cv2.resize(img, (500, 414))  # 根绝给定的维度进行变化   cv2.resize(img, (0, 0), fx=3, fy=1)  使得图像x轴变化为原来的三倍,y轴不变

参数说明:img表示需要变化的图片, (500, 414)表示变化的维度,长为414, 宽为500, fx=3, fy=1, 表示对图像的x轴进行变化

3.cv2.addWeighted(dog_img, 0.6, cat_img, 0.4, 0) 表示将两个图片进行重叠操作

参数说明:重叠后的像素表示: dog_img*0.6 + cat_img*0.4 + 0 ,0表示重叠的偏置项

代码:

1. 将一幅图片进行加10操作

2. 使用加号,将两个维度相同的图片进行加和操作

3. cv2.add() 将两个图片进行加和,大于255的用255表示

4.使用cv2.resize(img, (500, 414))对图片的维度进行变形,使用cv2.addWeighted()对两个图片进行重叠操作

5.使用cv2.resize(img, (0, 0), fx=3, fy=1) 对图片的x轴进行扩大操作

6.对cv2.addWeighted进行翻写操作

import cv2


cat_img = cv2.imread('cat.jpg')
dog_img = cv2.imread('dog.jpg')

# 1.对三个通道像素点进行加10操作
cat2_img = cat_img + 10

print(cat_img[0:5, :, 1])

print(cat2_img[0:5, :, 1])
cv2.imshow('cat', cat2_img)
cv2.waitKey(0)

# 2.将两张图片进行相加操作, 如果大于255,就使用256进行约分
print((cat2_img + cat_img)[0:5, :, 0])

# 3.使用cv2.add对两个照片进行加和, 如果加和值大于255,就使用255表示
print(cv2.add(cat2_img, cat_img)[0:5, :, 0])
import matplotlib.pyplot as plt
# 4. cv2.resize将图片进行变形, cv2.addWeighted将两个图片进行重叠, 参数说明dog_img * 0.6 + cat_img *0.4 + 0
print(cat_img.shape)
dog_img = cv2.resize(dog_img, (500, 414))
img = cv2.addWeighted(dog_img, 0.6, cat_img, 0.4, 0)
plt.imshow(img)
plt.show()

import matplotlib.pyplot as plt
# 5. cv2.resize(img, (0, 0), ), 将x轴扩大3倍
plt.subplot(211)
plt.imshow(cv2.resize(cat_img, (0, 0), fx=3, fy=1))

# 将y轴扩大3倍
plt.subplot(212)
plt.imshow(cv2.resize(cat_img, (0, 0), fx=1, fy=3))
plt.show()

# cv2.addWeighted翻写
img = np.round(np.multiply(dog_img, 0.6) + np.multiply(cat_img, 0.4))
img = img.astype(int)
print('2', img)
plt.imshow(img)
plt.show()

猜你喜欢

转载自www.cnblogs.com/my-love-is-python/p/10390674.html