☰
GDPU|医学图像处理 实验三 医学图像增强(2)
2026/9/30 8:28:49 网站建设 项目流程

一、实验目的

  1. 掌握直方图均衡化基本原理;
  2. 掌握均值滤波和中值滤波原理;
  3. 熟练使用Python、OpenCV编程实现图像的直方图均衡化。
  4. 熟练使用Python、OpenCV编程实现图像去噪。

二、实验内容:

1.分析图3-1 chest.tif的直方图,然后对chest.tif进行直方图均衡化。

图3-1 chest.tif

import cv2 import matplotlib.pyplot as plt # 读取图片 img = cv2.imread(r'\image\chest.tif') # 灰度转换 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 直方图均衡化处理 result = cv2.equalizeHist(gray) # 显示图像 plt.subplot(221) plt.imshow(gray, cmap=plt.cm.gray), plt.axis("off"), plt.title('(a)') plt.subplot(222) plt.imshow(result, cmap=plt.cm.gray), plt.axis("off"), plt.title('(b)') plt.subplot(223) plt.hist(img.ravel(), 256), plt.title('(c)') plt.subplot(224) plt.hist(result.ravel(), 256), plt.title('(d)') plt.show()

2. 对图3-2 headCTNoise.bmp分别采用均值滤波和中值滤波进行去噪处理。然后回答问题:(1)根据经验判断,图3-2中的噪声是什么噪声?(2)比较图像处理结果,分析哪种滤波对这种噪声的处理效果更好,为什么?

图3-1 headCTNoise.bmp

import cv2 import numpy as np # 读取图像 img = cv2.imread(r'C:\Users\16483\Desktop\image\headCTNoise.bmp', 0) # 以灰度图读取 # 均值滤波 mean_filtered = cv2.blur(img, (3, 3)) # 3x3均值滤波核 # 中值滤波 median_filtered = cv2.medianBlur(img, 3) # 3x3中值滤波核 # 显示原图、均值滤波结果、中值滤波结果 cv2.imshow('Original', img) cv2.imshow('mean_filtered', mean_filtered) cv2.imshow('median_filtered', median_filtered) cv2.waitKey(0) cv2.destroyAllWindows()

均值滤波:

中值滤波:

  1. 椒盐噪声。
  2. 中值滤波处理效果更好。原因是:均值滤波是对邻域内像素值取平均,会模糊图像边缘等细节,且对椒盐噪声这种极值点的抑制能力弱;而中值滤波是取邻域内像素值的中值,能有效去除椒盐噪声,同时较好地保留图像的边缘等细节信息。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询