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()

代码分析:

  1. 读取图像: 使用 cv2.imread() 函数读取两张图像,分别存储在 imgm 变量中。
  2. 减法运算: 使用 cv2.subtract() 函数对 imgm 进行减法运算,并将结果存储在 result 变量中。
  3. 显示图像: 使用 cv2.imshow() 函数分别显示原始图像 img 和结果图像 result
  4. 归一化: 使用 cv2.normalize() 函数将结果图像 result 的像素值范围归一化到 0 到 255 之间。
  5. 数据类型转换: 使用 result = result.astype(np.uint8) 将结果图像转换为 8 位无符号整数类型,以便正确显示。
  6. 等待按键: 使用 cv2.waitKey(0) 等待用户按下键盘上的任意键,以便程序能够继续执行。
  7. 关闭窗口: 使用 cv2.destroyAllWindows() 函数关闭所有打开的窗口。

代码中可能的错误:

  1. 路径错误: 原始代码中读取图像的路径存在错误,例如 d:image 应该改为 d:\image
  2. 注释错误: 原始代码中的一些注释内容存在错误,例如 OpenCV 加法运算 应该改为 OpenCV 减法运算

建议:

  1. 确保代码中的所有路径正确无误。
  2. 校对注释内容,确保注释内容准确无误。
  3. 可以尝试使用其他图像进行测试,确保代码能够正确运行。
OpenCV图像减法运算示例:使用cv2.subtract()函数

原文地址: https://www.cveoy.top/t/topic/pajI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录