在python中用自己写的函数实现两幅图像的加减,要求不使用库函数
时间: 2023-05-29 14:03:40 浏览: 202
OpenCV实现两个图像相减
5星 · 资源好评率100%
以下是实现两幅图像的加减的Python代码:
```python
import numpy as np
import cv2
def add_images(image1, image2):
# 获取两幅图像的尺寸
height, width, channels = image1.shape
# 创建一个空白的图像用于存储加法结果
result = np.zeros((height, width, channels), dtype=np.uint8)
# 逐像素进行加法操作
for i in range(height):
for j in range(width):
for k in range(channels):
result[i, j, k] = image1[i, j, k] + image2[i, j, k]
return result
def subtract_images(image1, image2):
# 获取两幅图像的尺寸
height, width, channels = image1.shape
# 创建一个空白的图像用于存储减法结果
result = np.zeros((height, width, channels), dtype=np.uint8)
# 逐像素进行减法操作
for i in range(height):
for j in range(width):
for k in range(channels):
result[i, j, k] = image1[i, j, k] - image2[i, j, k]
return result
# 读取两幅图像
image1 = cv2.imread('image1.png')
image2 = cv2.imread('image2.png')
# 将两幅图像进行加法操作
result_add = add_images(image1, image2)
# 将两幅图像进行减法操作
result_subtract = subtract_images(image1, image2)
# 显示加法结果
cv2.imshow('Addition', result_add)
# 显示减法结果
cv2.imshow('Subtraction', result_subtract)
# 等待按下任意键,然后关闭所有窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上代码中,`add_images`函数实现了两幅图像的加法操作,`subtract_images`函数实现了两幅图像的减法操作。这两个函数的实现方法都比较简单,就是逐像素对应进行加法或减法操作,最终得到一个新的图像。在实际使用时,只需要传入需要进行加减操作的两幅图像即可。最后,使用`cv2.imshow`函数将加减结果显示出来,再使用`cv2.waitKey`函数等待按下任意键后关闭所有窗口。
阅读全文