應用場景:需要建立純色影像,作為背景圖,
在此基礎上新增文字、形狀、新的圖片等等
原理:
-
cv2的讀取圖片操作本質上是將圖片轉換為
uint8
的numpy.ndarray
型別,
後續的其他影像操作,本質上也是對於這個ndarray
物件的操作
-
首先用
numpy
建立一個形狀為(224,224,3)、元素值為均為0的ndarray
物件,
這個ndarray
其實對應一張純黑的影像,
img_black = np.zeros((256,256,3), np.uint8)
然後選擇一個BGR值(因為opencv預設採用BGR顏色通道模式),
對於該ndarray
前兩維每個元素的三通道,均賦這個值,
img_black[:] = [60,20,220]
程式碼示例:
import numpy as np
import cv2
img_black = np.zeros((256,256,3), np.uint8)
cv2.imshow('lingdu show img_black', img_black)
img_black[:] = [60,20,220] # BGR值(Crimson猩紅色)
cv2.imshow('lingdu show img_color', img_black)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey(1)
執行效果: