4-3 Python学习笔记3_ 图像的某些操作
本文参考文献:Python机器学习经典实例[M] Chris Albon东南大学出版社
1.读图
1.matplotlib:官网 https://matplotlib.org/tutorials/index.html
import matplotlib.pyplot as plt
image = plt.imread('qinghu.jpg')
plt.imshow(image)
plt.show()
结果:
2.opencv 官网:https://docs.opencv.org/3.3.0/d6/d00/tutorial_py_root.html
import cv2
img = cv2.imread('qinghu.jpg') #读图
cv2.imshow('qinghu', img) #创建名为 qinghu 图片名为 img 的图像
cv2.waitKey(0) #等待键盘触发事件,释放窗口
最后一行必有,否则窗口一闪而过。括号里的数>0为持续时间,=0为按任意键退出。
2. 滤波
- 均值滤波
import cv2
import numpy as np
from matplotlib import pyplot as plt
image = cv2.imread('qinghu.jpg') #读图
im1=cv2.blur(image, (7,7))
plt.figure()
plt.subplot(1,2,1)
plt.imshow(image[:,:,[2,1,0]])#cv2矩阵顺序是B G R,matplotlib 是 R G B
plt.subplot(1,2,2)
plt.imshow(im1[:,:,[2,1,0]])
plt.show()
cv2.waitKey(0) #等待键盘触发事件,释放窗口
2. GAUSS滤波
import cv2
import numpy as np
from matplotlib import pyplot as plt
image = cv2.imread('qinghu.jpg') #读图
im1=cv2.blur(image, (7,7))
im2=cv2.GaussianBlur(image,(15,15),0)
plt.figure()
plt.subplot(1,2,1)
plt.imshow(image[:,:,[2,1,0]])#cv2矩阵顺序是B G R,matplotlib 是 R G B
plt.subplot(1,2,2)
#plt.imshow(im1[:,:,[2,1,0]])
plt.imshow(im2[:,:,[2,1,0]])
plt.show()
cv2.waitKey(0) #等待键盘触发事件,释放窗口
3. 中值滤波
import cv2
import numpy as np
from matplotlib import pyplot as plt
image = cv2.imread('qinghu.jpg') #读图
im1=cv2.blur(image, (7,7))
im2=cv2.GaussianBlur(image,(15,15),0)
im3=cv2.medianBlur(image,7,0)
plt.figure()
plt.subplot(1,2,1)
plt.imshow(image[:,:,[2,1,0]])#cv2矩阵顺序是B G R,matplotlib 是 R G B
plt.subplot(1,2,2)
#plt.imshow(im1[:,:,[2,1,0]])
#plt.imshow(im2[:,:,[2,1,0]])
plt.imshow(im3[:,:,[2,1,0]])
plt.show()
cv2.waitKey(0) #等待键盘触发事件,释放窗口
下一篇更新这几个滤波的工作原理,GAUSS噪声以及其他个别的原理。下下篇介绍一篇论文中降噪的方法。时间可能有点长