数字图像处理
#数字图像实验
**
1.使用求均值的方法对图像采样,显示结果如图
**
from skimage import data
from matplotlib import pyplot as plt
import numpy as np
image = data.coffee()
print(image.shape)
print(type(image))
ratio = 20
image1 = np.zeros((int(image.shape[0] / ratio),
int(image.shape[1] / ratio), image.shape[2]), dtype='int32')
for i in range(image1.shape[0]):
for j in range(image1.shape[1]):
for k in range(image1.shape[2]):
delta = image[i * ratio:(i + 1) * ratio, j * ratio:(j + 1) * ratio, k]
image1[i, j, k] = np.mean(delta)
plt.imshow(image1)
plt.show()
`# 数字图像实验一 2
2.颜色通道操作,显示结果如图
from skimage import data, io
from matplotlib import pyplot as plt
#读入
image = data.coffee()
#red green blue
image_r = image[:, :, 0]
image_g = image[:, :, 1]
image_b = image[:, :, 2]
#三个通道
plt.subplot(2, 2, 1)
io.imshow(image)
plt.subplot(2, 2, 2)
io.imshow(image_r)
plt.subplot(2, 2, 3)
io.imshow(image_g)
plt.subplot(2, 2, 4)
io.imshow(image_b)
plt.show()
`
# 数字图像实验一 3
3. 图像算术加减运算,显示结果如图
from matplotlib.font_manager import FontProperties
font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)
from skimage import data
from matplotlib import pyplot as plt
moon = data.moon()
camera = data.camera()
image_minus = moon - camera
image_plus = moon + camera
plt.set_cmap(cmap='gray')
plt.subplot(2, 2, 1)
plt.title('月亮图像', fontproperties=font_set)
plt.imshow(moon)
plt.subplot(2, 2, 2)
plt.title('摄像师图像', fontproperties=font_set)
plt.imshow(camera)
plt.subplot(2, 2, 3)
plt.title('月亮加摄像师图像', fontproperties=font_set)
plt.imshow(image_plus)
plt.subplot(2, 2, 4)
plt.title('月亮减摄像师图像', fontproperties=font_set)
plt.imshow(image_minus)
plt.show()