OpenCV图像减法运算示例:使用cv2.subtract()函数
import cv2
import numpy as np
# 读取图像
img = cv2.imread('d:\image\angiography_live_image.tif')
m = cv2.imread('d:\image\angiography_mask_image.tif')
# OpenCV 减法运算
result = cv2.subtract(img, m)
# 显示原始图像
cv2.imshow('original', img)
# 归一化结果图像
cv2.normalize(result, result, 0, 255, cv2.NORM_MINMAX)
result = result.astype(np.uint8)
# 显示结果图像
cv2.imshow('result', result)
# 等待按键
cv2.waitKey(0)
# 关闭所有窗口
cv2.destroyAllWindows()
代码分析:
- 读取图像: 使用
cv2.imread()函数读取两张图像,分别存储在img和m变量中。 - 减法运算: 使用
cv2.subtract()函数对img和m进行减法运算,并将结果存储在result变量中。 - 显示图像: 使用
cv2.imshow()函数分别显示原始图像img和结果图像result。 - 归一化: 使用
cv2.normalize()函数将结果图像result的像素值范围归一化到 0 到 255 之间。 - 数据类型转换: 使用
result = result.astype(np.uint8)将结果图像转换为 8 位无符号整数类型,以便正确显示。 - 等待按键: 使用
cv2.waitKey(0)等待用户按下键盘上的任意键,以便程序能够继续执行。 - 关闭窗口: 使用
cv2.destroyAllWindows()函数关闭所有打开的窗口。
代码中可能的错误:
- 路径错误: 原始代码中读取图像的路径存在错误,例如
d:image应该改为d:\image。 - 注释错误: 原始代码中的一些注释内容存在错误,例如
OpenCV 加法运算应该改为OpenCV 减法运算。
建议:
- 确保代码中的所有路径正确无误。
- 校对注释内容,确保注释内容准确无误。
- 可以尝试使用其他图像进行测试,确保代码能够正确运行。
原文地址: https://www.cveoy.top/t/topic/pajI 著作权归作者所有。请勿转载和采集!