python OpenCV 实现图片的医学处理

机器视觉第八次实验

一、实验目的

通过OpenCV第八次进行实验,对图片进行医学处理。

二、实验内容

对图片进行医学处理。

三、实验过程

我使用的是python语言+openCV对图片进行医学处理的功能。实验过程我们需要导入的库有import cv2;from skimage import morphology, io;import matplotlib.pyplot as plt

1)读取图片

我们采用直接读取图片并直接将其灰度化,使用imread()函数读取图片,

代码实例:

img = cv2.imread("vas0.bmp",0)

cv2.imshow("img",img)

cv2.waitKey()

图片1.png

图3.1图片读取

2)阈值分割

使用adaptiveThreshold()函数进行计算:

实例代码:

#阈值分割

th=cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,11,2)

cv2.imshow('th', th)

cv2.waitKey(0)

图片2.png

图3.2阈值分割后的图片

3)图片反色

输入的代码:

#图像反色

img1 = th.copy()

cv2.threshold(th,80,255,0,th)

for i in range(0,th.shape[0]):

    for j in range(0,th.shape[1]):

        img1[i,j] = 255-th[i,j]

# cv2.imshow("img1",img1)

# cv2.waitKey(0)

plt.imshow(img1,cmap=plt.cm.gray)

plt.axis('off')

plt.show()

图片3.png

图3.3反色后的图片

4)图像扩展

实例代码:

#图像扩展

img2 = cv2.copyMakeBorder(img1,1,1,1,1,cv2.BORDER_REFLECT)

plt.imshow(img2,cmap=plt.cm.gray)

plt.axis('off')

plt.show()

图片4.png

图3.4扩展后的图像

5)去除图片较小面积的区域并保存

实例代码:

#去除较小面积的区域

img3 = morphology.remove_small_holes(th,200)

plt.imshow(img3,cmap=plt.cm.gray)

plt.axis('off')

plt.show()

图片5.png

图3.5.1去除较小面积的区域(1)

img3 = morphology.remove_small_holes(th,1000)

plt.imshow(img3, cmap=plt.cm.gray)

plt.axis('off')

plt.savefig("jpg")

plt.show()

图片6.png

图3.5.2去除较小面积的区域(2)

6)细化图片

实例代码:

image = cv2.imread("jpg.png")

#实施骨架算法

image1 =morphology.skeletonize(image)

#显示结果

plt.imshow(image1)

plt.axis('off')

plt.show()

7)边缘检测

实例代码:

#边缘检测

image2 = cv2.Canny(image,80,255)

cv2.imshow("image2",image2)

cv2.waitKey(0)

图片7.png

图3.7边缘检测的图片

8)图片反色

实例代码:

#图片反色

image3 = image2.copy()

for i in range(0,image2.shape[0]):

    for j in range(0,image2.shape[1]):

        image3[i,j] = 255-image2[i,j]

cv2.imshow("image3",image3)

cv2.waitKey(0)

图片8.png 

图3.8图片反色

四、实验中的错误

1)安装我们所需要的库,不然会报错,我首先使用pip install skimage,这样安装出来的会报错;

图片9.png 

图4.1.1安装scikit-image库出错案例

百度了一下以后我发现这个库的大名是叫scikit-image,我们就使用pip install scikit-image。

图片10.png

图4.1.2解决安装scikit-image库出错的问题

五、实验总结

学习了OpenCV的医学处理技术,提升了自己的能力。

 ​

猜你喜欢

转载自www.cnblogs.com/CJR-QYF/p/12701203.html