GDPU|医学图像处理 实验四 医学图像分割(1)

发布时间:2026/10/1 15:54:48
GDPU|医学图像处理 实验四 医学图像分割(1) 一、实验目的熟悉图像处理的模板的使用和设计掌握图像分割的基本理论和方法掌握阈值分割的方法掌握边缘分割的方法。二、实验内容1.分割图像1.jpg分别得到房屋图像的水平边缘垂直边缘和总体边缘。边缘检测算法可任选一种实现。1.jpgimport cv2 import numpy as np import matplotlib.pyplot as plt img cv2.imread(r./image/1.jpg, 0) # 以灰度模式读取图像 # 水平边缘检测Sobel 算子dx1, dy0 sobel_x cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize3) sobel_x np.uint8(np.absolute(sobel_x)) # 垂直边缘检测Sobel 算子dx0, dy1 sobel_y cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize3) sobel_y np.uint8(np.absolute(sobel_y)) # 总体边缘检测 sobel_combined cv2.bitwise_or(sobel_x, sobel_y) plt.figure(figsize(12, 4)) plt.subplot(131) plt.imshow(sobel_x, cmapgray) plt.title(Horizontal Edges) plt.axis(off) plt.subplot(132) plt.imshow(sobel_y, cmapgray) plt.title(Vertical Edges) plt.axis(off) plt.subplot(133) plt.imshow(sobel_combined, cmapgray) plt.title(Combined Edges) plt.axis(off) plt.tight_layout() plt.show()2.对图片2.jpg进行阈值分割可结合图像的直方图分析阈值选择也可用OTSU算法设置阈值。分割要求目标指纹为白色背景为黑色。2.jpgimport cv2 img cv2.imread(r./image/2.jpg, 0) ret, thresh cv2.threshold(img, 0, 255, cv2.THRESH_BINARY_INV cv2.THRESH_OTSU) small_thresh cv2.resize(thresh, None, fx0.5, fy0.5) cv2.imshow(Small Thresholded Image, small_thresh) cv2.waitKey(0) cv2.destroyAllWindows()