OpenCV图像减法运算 - 使用NumPy进行图像处理
使用OpenCV和NumPy进行图像减法运算
本代码示例演示了如何使用OpenCV和NumPy库进行图像减法运算,并将结果显示在窗口中。
import cv2
import numpy as np
# 读取图像文件
img = cv2.imread('d:\image\angiography_live_image.tif')
m = cv2.imread('d:\image\angiography_mask_image.tif')
# 使用NumPy进行图像减法
result = np.int32(img) - np.int32(m)
# 显示原始图像
cv2.imshow('original', img)
# 对结果进行归一化处理
cv2.normalize(result, result, 0, 255, cv2.NORM_MINMAX)
# 将结果转换为uint8类型
result = result.astype(np.uint8)
# 显示结果图像
cv2.imshow('result', result)
# 等待用户按下键盘按键
cv2.waitKey(0)
# 关闭所有窗口
cv2.destroyAllWindows()
代码解释:
import cv2: 导入OpenCV库,用于图像处理操作。import numpy as np: 导入NumPy库,用于数值计算和数组操作。img = cv2.imread('d:\image\angiography_live_image.tif'): 使用cv2.imread函数读取名为'angiography_live_image.tif'的图像文件,并将其赋值给变量img。m = cv2.imread('d:\image\angiography_mask_image.tif'): 使用cv2.imread函数读取名为'angiography_mask_image.tif'的图像文件,并将其赋值给变量m。result = np.int32(img) - np.int32(m): 将img和m转换为int32类型的数组,然后进行减法运算,将结果赋值给变量result。cv2.imshow('original', img): 在名为'original'的窗口中显示img图像。cv2.normalize(result, result, 0, 255, cv2.NORM_MINMAX): 对result进行归一化处理,将像素值的范围限制在0到255之间,并将结果赋值给result本身。result = result.astype(np.uint8): 将result的数据类型转换为uint8(8位无符号整数),以确保图像能够正常显示。cv2.imshow('result', result): 在名为'result'的窗口中显示result图像。cv2.waitKey(0): 等待用户按下任意键盘按键,返回按下的按键值。cv2.destroyAllWindows(): 关闭所有打开的窗口。
本代码示例展示了如何使用OpenCV和NumPy库进行简单的图像处理操作。您可以根据需要修改代码,例如使用不同的图像文件或进行其他图像处理操作。
原文地址: https://www.cveoy.top/t/topic/pama 著作权归作者所有。请勿转载和采集!