skimage包的全称是scikit-image SciKit (toolkit for SciPy) ,它对scipy.ndimage进行了扩展,提供了更多的图片处理功能。它是由python语言编写的,由scipy 社区开发和维护。skimage包由许多的子模块组成,各个子模块提供不同的功能。主要子模块列表如下:
当要使用对应的模块中功能函数时,需要通过import导入对应的子模块即可, 若要导入多个子模块时,子模块之间用逗号隔开,如下:
from skimage import io, data, feature
python -m pip install --index-url https://pypi.douban.com/simple Scikit-Image
python -m pip install --index-url https://pypi.douban.com/simple Image
或者:pip install -U scikit-image
或者:conda install -c conda-forge scikit-image
捆绑包为:
imageio-2.9.0 | 3.1 MB | ##################### | 100%
dask-core-2020.12.0 | 669 KB | ##################### | 100%
pyopenssl-20.0.1 | 48 KB | ##################### | 100%
scikit-image-0.18.0 | 10.8 MB | ##################### | 100%
xz-5.2.5 | 211 KB | ##################### | 100%
cycler-0.10.0 | 9 KB | ##################### | 100%
toolz-0.11.1 | 46 KB | ##################### | 100%
urllib3-1.25.11 | 93 KB | ##################### | 100%
cryptography-3.3.1 | 594 KB | ##################### | 100%
tifffile-2019.7.26.2 | 254 KB | ##################### | 100%
scipy-1.5.3 | 21.9 MB | ##################### | 100%
networkx-2.5 | 1.2 MB | ##################### | 100%
idna-2.10 | 52 KB | ##################### | 100%
lz4-c-1.9.2 | 279 KB | ##################### | 100%
pycparser-2.20 | 94 KB | ##################### | 100%
zstd-1.4.5 | 887 KB | ##################### | 100%
ca-certificates-2020 | 173 KB | ##################### | 100%
tk-8.6.10 | 3.2 MB | ##################### | 100%
cffi-1.14.4 | 226 KB | ##################### | 100%
pathlib-1.0.1 | 4 KB | ##################### | 100%
olefile-0.46 | 32 KB | ##################### | 100%
kiwisolver-1.3.1 | 58 KB | ##################### | 100%
imagecodecs-lite-201 | 151 KB | ##################### | 100%
matplotlib-base-3.3. | 6.7 MB | ##################### | 100%
chardet-3.0.4 | 190 KB | ##################### | 100%
freetype-2.10.4 | 493 KB | ##################### | 100%
pooch-1.3.0 | 40 KB | ##################### | 100%
pywavelets-1.1.1 | 4.3 MB | ##################### | 100%
openssl-1.1.1i | 5.8 MB | ##################### | 100%
libcblas-3.8.0 | 3.9 MB | ##################### | 100%
win_inet_pton-1.1.0 | 8 KB | ##################### | 100%
pyparsing-2.4.7 | 60 KB | ##################### | 100%
yaml-0.2.5 | 61 KB | ##################### | 100%
cytoolz-0.11.0 | 314 KB | ##################### | 100%
enum34-1.1.10 | 4 KB | ##################### | 100%
certifi-2020.12.5 | 143 KB | ##################### | 100%
pysocks-1.7.1 | 28 KB | ##################### | 100%
appdirs-1.4.4 | 13 KB | ##################### | 100%
packaging-20.8 | 34 KB | ##################### | 100%
cloudpickle-1.6.0 | 22 KB | ##################### | 100%
brotlipy-0.7.0 | 368 KB | ##################### | 100%
pyyaml-5.3.1 | 159 KB | ##################### | 100%
requests-2.25.0 | 51 KB | ##################### | 100%
注意:该命令在一定程度上捆绑了一些匹配包,可以一次性安装。
其他参考:手动下载python模块库网站
测试源码:
#coding=utf-8
# from PIL import Image, ImageFont
from PIL import Image as img
import os
from matplotlib import pyplot as plot
from skimage import io,transform
#Image和skimage读图片
img_file1 = img.open('./mesc.jpg')
img_file2 = io.imread('./mesc.jpg')
#得到像素:
print(img_file1.getpixel((50,100))) #((w,h)) 返回: (253, 251, 239) tuple
print(img_file2[50][100]) #[h][w]
测试结果:
(172, 116, 117)
[86 60 71]
Process finished with exit code 0
再次测试梅西:随机添加一些噪声
#coding=utf-8
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
img=np.array(Image.open('./mesc.jpg'))
# plt.figure("mess")
# plt.imshow(img)
# plt.axis('off')
# plt.show()
print(img.shape)
print(img.dtype)
print(img.size)
print(type(img))
# 随机生成5000个随机噪声点
rows, cols, dims = img.shape
for i in range(5000):
x = np.random.randint(0, rows)
y = np.random.randint(0, cols)
img[x, y, :] = 255
plt.figure("mess")
plt.imshow(img)
plt.axis('off')
plt.show()
print(type(img))
print(img)
输出结果:
(460, 690, 3)
uint8
952200
<class 'numpy.ndarray'>
[[[132 125 132]
[133 126 133]
[135 128 135]
...
[190 130 138]
[193 133 141]
[193 133 141]]
[[136 129 136]
[137 130 137]
[137 130 137]
...
[196 133 141]
[197 134 142]
[197 134 142]]
[[143 137 141]
[143 137 141]
[141 135 139]
...
[206 137 142]
[207 136 142]
[207 136 142]]
...
[[146 116 105]
[146 116 105]
[145 116 102]
...
[166 112 100]
[167 107 97]
[167 107 97]]
[[145 117 105]
[145 117 105]
[145 117 105]
...
[167 117 106]
[168 113 106]
[168 113 106]]
[[145 118 107]
[144 117 106]
[145 117 106]
...
[168 120 108]
[169 116 108]
[169 116 108]]]
Process finished with exit code 0
变量以数字矩阵的形式来存储图像。如你所见,矩阵的形状为460 x 690。矩阵里的这些数字称为像素值,它们表示图像中像素的强度。
引用文献1
引用文献2
引用文献3