医学图像处理技术
图像二值化以及最优二值化方法
图像的二值化方法来源于图像的灰度直方图,它是图像灰度级分布的统计,反应图像每种灰度出现的频率。
所谓的图像的二值化是将确定图像的阈值,将图像分为前景和背景。
图像的卷积(Convolution)和相关(Correlation)
给定输入图片$f(x, y)$,核$w(a, b)$
- 图像的卷积运算是使目标与目标之间的差距变大。
卷积运算可以表示为如下的公式:
$$f*w = \sum_{(a, b)\in w, (x-a, y-b)\in f}f(x-a, y-b)w(a, b)$$
使用numpy实现简单的二维卷积运算:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19def conv(image, kernel):
""" An implementation of convolution filter.
Args:
image: numpy array of shape (Hi, Wi)
kernel: numpy array of shape (Hk, Wk)
Returns:
out: numpy array of shape (Hi, Wi)
"""
Hi, Wi = image.shape
Hk, Wk = kernel.shape
out = np.zeros((Hi, Wi))
flip_kernel = np.flip(np.flip(kernel, axis=0), axis=1)
delta_h = int((Hk-1)/2)
delta_w = int((Wk-1)/2)
for image_h in range(delta_h, Hi-delta_h):
for image_w in range(delta_w, Wi-delta_w):
out[image_h][image_w] = np.sum(flip_kernel*image[image_h-delta_h:image_h+delta_h+1, image_w-delta_w:image_w+delta_w+1])
return out - 图像的相关运算与卷积运算不同之处在于,相关运算不需要将核翻转。
$$f\bigotimes w = \sum_{(a, b)\in w, (x+a, y+b)\in f}f(x+a, y+b)w(a, b)$$
有时候我们利用卷积运算可以得到图像的边缘:Sobel operator mask 和 Prewitt operator masks.
图像除噪
高斯滤波
中值滤波
形态学
- Dilation
扩张放大图像的前景 - Erosion
缩小图像的前景 - Opening Operation
先进行Erosion,再做Dilation,可以去除不连续的像素点。 - Closing Operation
先做Dilation,后做Erosion,对不连续的像素点进行填埋。