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

代码解释:

  1. import cv2: 导入OpenCV库,用于图像处理操作。
  2. import numpy as np: 导入NumPy库,用于数值计算和数组操作。
  3. img = cv2.imread('d:\image\angiography_live_image.tif'): 使用cv2.imread函数读取名为'angiography_live_image.tif'的图像文件,并将其赋值给变量img
  4. m = cv2.imread('d:\image\angiography_mask_image.tif'): 使用cv2.imread函数读取名为'angiography_mask_image.tif'的图像文件,并将其赋值给变量m
  5. result = np.int32(img) - np.int32(m): 将imgm转换为int32类型的数组,然后进行减法运算,将结果赋值给变量result
  6. cv2.imshow('original', img): 在名为'original'的窗口中显示img图像。
  7. cv2.normalize(result, result, 0, 255, cv2.NORM_MINMAX): 对result进行归一化处理,将像素值的范围限制在0到255之间,并将结果赋值给result本身。
  8. result = result.astype(np.uint8): 将result的数据类型转换为uint8(8位无符号整数),以确保图像能够正常显示。
  9. cv2.imshow('result', result): 在名为'result'的窗口中显示result图像。
  10. cv2.waitKey(0): 等待用户按下任意键盘按键,返回按下的按键值。
  11. cv2.destroyAllWindows(): 关闭所有打开的窗口。

本代码示例展示了如何使用OpenCV和NumPy库进行简单的图像处理操作。您可以根据需要修改代码,例如使用不同的图像文件或进行其他图像处理操作。

OpenCV图像减法运算 - 使用NumPy进行图像处理

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

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