CV Python - 1

1. 常用库函数
import cv2
from PIL import Image, ImageOps
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from skimage import data,segmentation,measure,morphology,color

2.  图片打开
img = cv2.imread('tmp.png') # np.ndarray 格式
img = plt.imread('tmp.png') # np.ndarray 格式
img = Image.open('tmp.png') # Image 格式

3. 图片保存
cv2.imwrite('tmp.png', img)
plt.savefig('tmp.png')
img.save('tmp.png') # Image 格式

4. 图片显示
cv2.imshow('title',img)
cv2.waitKey(0)
plt.imshow(img, 'gray')  # 灰度图
plt.show()
img.show() # Image 格式

5. 色彩空间
OpenCV
# 灰度图
Grayimg = cv2.cvtColor(imgYcc, cv2.COLOR_BGR2GRAY)
# RGB -> YCRCB
imgYcc = cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB)
# RGB -> HSV
imgHSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
#HSV(Hue , Saturation , Value)在Opencv中, H色度取值范围是[0,179] S饱和度的取值范围是[0,255] V明度的取值范围是[0,255], 
#拿opencv的HSV值与其他软件的HSV值进行对比时,要归一化; HSV要比BGR更好地表示某种特定颜色
skimage
skimage.color.rgb2grey(rgb)
skimage.color.rgb2hsv(rgb)
skimage.color.rgb2lab(rgb)
skimage.color.gray2rgb(image)
skimage.color.hsv2rgb(hsv)
skimage.color.lab2rgb(lab)
skimage.color.convert_colorspace(arr, fromspace, tospace)

6. 形态学操作
# 卷积核
kernel = np.ones((5,5),np.uint8)
# 腐蚀
erosion = cv2.erode(img,kernel,1) 
# 膨胀
dilate= cv2.dilate(img,kernel,1)  
#开运算
opened = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel) 
#闭运算 
closed = cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel) 
#形态学梯度, 提取了物体的轮廓
gradiet = cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel) 
#礼帽,原始图像与其进行开运算后的图像进行一个差
tophat = cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel
#黑帽,原始图像与其进行闭运算后的图像进行一个差
blackhat= cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)

猜你喜欢

转载自blog.csdn.net/francislucien2017/article/details/80167051
CV