一、讀取圖片
通過cv2庫中的imread()方法讀取圖片
代碼:
import cv2
a = cv2.imread('1.png')
cv2.imshow('tu',a)
b = cv2.waitKey(4000) # 圖片執行時間
cv2.destroyAllWindows() # 關閉所有端口
print("圖像形狀(shape):",a.shape)
print("圖像數據類型(dtype):",a.dtype)
print("圖像大小(size):",a.size)
二、讀取圖片的灰度圖
通過cv2.IMREAD_GRAYSCALE將圖片改為灰度圖
代碼:
''' 讀取圖片的灰度圖 '''
import cv2
a = cv2.imread('1.png',cv2.IMREAD_GRAYSCALE) # 對圖片執行灰度設置
cv2.imshow('tu',a)
b = cv2.waitKey(4000)
cv2.destroyAllWindows()
print("圖像形狀(shape):",a.shape)
print("圖像數據類型(dtype):",a.dtype)
print("圖像大小(size):",a.size)
'''圖片保存'''
cv2.imwrite('2.png',a)
三、ROI(對圖片進行切片)
將a軟復制給b再對高和寬進行切分,切出一塊圖片出來
代碼:
import cv2
a = cv2.imread('1.png')
b = a[20:200,100:300]
cv2.imshow('yuantu',a)
cv2.imshow('qiepian',b)
cv2.waitKey(0)
cv2.destroyAllWindows()
四、讀取RGB顏色通道
代碼:
import cv2
a = cv2.imread('1.png')
# 第一種方法(分離顏色通道)
a1 = a[:,:,0] # B
a2 = a[:,:,1] # G
a3 = a[:,:,2] # R
# 第二種方法(分離顏色通道)
b,g,r = cv2.split(a)
'''效果一樣'''
cv2.imshow('b',a1)
cv2.imshow('g',a2)
cv2.imshow('r',a3)
# 設置窗口顯示時間,單位ms
cv2.waitKey(10000)
cv2.destroyAllWindows()
五、圖片打碼
代碼:
import numpy as np
import cv2
a = cv2.imread('1.png')
a[100:200,200:300] = np.random.randint(0,256,(100,100,3)) # 矩陣賦值必須是相同大小
cv2.imshow('masaike',a)
cv2.waitKey(100000)
cv2.destroyAllWindows()
六、圖片組合
代碼:
import cv2
a = cv2.imread('b.png')
b = cv2.imread('c.png')
b[0:300,0:250] = a[0:300,0:250]
cv2.imshow('b',b)
cv2.imshow('a',a)
cv2.waitKey(100000)
cv2.destroyAllWindows()
七、圖片縮放
代碼:
import cv2
a = cv2.imread('1.png')
a_new = cv2.resize(a,(200,600)) # 將圖片格式改為高為200寬為600
a_new = cv2.resize(a,dsize=None,fx=0.5,fy=0.5) #將圖片高和寬縮為原來的一半
cv2.imshow('a',a)
cv2.imshow('a_new',a_new)
cv2.waitKey(10000)
cv2.destroyAllWindows()