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)
result = result.astype(np.uint8)
cv2.imshow('result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()

代码分析:

  • 第 1 行: 导入 cv2 模块,用于图像处理。
  • 第 2 行: 导入 numpy 模块,用于数值计算。
  • 第 3 行: 使用 cv2.imread 函数读取一张图片,图片的路径为 'd:\image\angiography_live_image.tif',并将其赋值给变量 img
  • 第 4 行: 使用 cv2.imread 函数读取另一张图片,图片的路径为 'd:\image\angiography_mask_image.tif',并将其赋值给变量 m
  • 第 7 行: 使用 np.int32 函数将 imgm 转换为 32 位整型数组,以便进行数值运算。
  • 第 8 行: 使用减法运算符 - 对两个 32 位整型数组进行减法运算,得到结果 result
  • 第 9 行: 使用 cv2.imshow 函数显示原始图像,窗口标题为 'original',图像数据为 img
  • 第 10 行: 使用 cv2.normalize 函数将 result 的像素值范围归一化到 0-255 之间,以便在显示时能够正常显示。
  • 第 11 行: 使用 result.astype 函数将 result 的数据类型转换为无符号 8 位整型,以便能够被 OpenCV 正确显示。
  • 第 12 行: 使用 cv2.imshow 函数显示处理后的图像,窗口标题为 'result',图像数据为 result
  • 第 13 行: 使用 cv2.waitKey 函数等待用户按下任意键,以便能够看到结果图像。
  • 第 14 行: 使用 cv2.destroyAllWindows 函数关闭所有图像窗口。

总结:

这段代码展示了使用 OpenCV 和 NumPy 进行图像减法运算的简单示例。通过使用 NumPy 进行像素值减法运算,并使用 OpenCV 进行图像显示,可以实现对两张图片进行像素值减法,得到最终的处理结果。

OpenCV 图像减法运算:使用 NumPy 进行像素值减法

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

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