图像处理——阈值分割

①读取图像brain1.png,设置如图1所示的种子点(可使用鼠标获取其大致的坐标位置);
②lower设置为40;
③upper分别设置为80, 85, 90,对比显示原始图像及不同upper阈值分割的图像

brain1.png

图像处理——阈值分割_第1张图片

实验代码:

import SimpleITK as sitk
import cv2
import matplotlib.pyplot as plt
img_cv = cv2.imread('brain.png')
img = cv2.cvtColor(img_cv, cv2.COLOR_BGR2RGB)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_new = sitk.GetImageFromArray(img_gray)
seedList = (210,213)

img1 = sitk.ConnectedThreshold(img_new, [seedList], 40, upper=80)
img2 = sitk.ConnectedThreshold(img_new, [seedList], 40, upper=85)
img3 = sitk.ConnectedThreshold(img_new, [seedList], 40, upper=90)
img11 = sitk.GetArrayViewFromImage(img1)
img22 = sitk.GetArrayViewFromImage(img2)
img33 = sitk.GetArrayViewFromImage(img3)


images = [img_gray, img11, img22, img33]
titles = ['original', 'upper=80', 'upper=85', 'upper=90']

plt.figure(figsize=(8, 8))
for i in range(4):
    plt.subplot(2,2,i+1),plt.imshow(images[i],cmap='gray'),plt.title(titles[i]),plt.axis('off')
plt.show()

 运行结果:

图像处理——阈值分割_第2张图片

 

你可能感兴趣的:(图像处理,图像处理,opencv)