重磅干貨,第一時間送達(dá) 使用OpenCV讀取一張圖像 import cv2image = cv2.imread(‘image.jpg’) 當(dāng)讀取圖像之后,,如果有必要的話可以將其從BGR格式轉(zhuǎn)換為RGB格式,,通過使用cv2.cvtColor()命令實現(xiàn)。 image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 覆蓋 image_1 image_1 = cv2.imread(‘image_1.jpg’) print(image_1) array([[[107, 108, 106],[107, 108, 106],[107, 108, 106],…,[ 77, 78, 76],[ 77, 78, 76],[ 76, 77, 75]],…,[[ 93, 88, 87],[ 93, 88, 87],[ 92, 87, 86],…,[ 52, 62, 62],[ 52, 62, 62],[ 52, 62, 62]]], dtype=uint8) 如果只改變圖像某一區(qū)域的像素值,比如更改為[0,0,0],,這部分區(qū)域?qū)⒆兂珊谏?,因為這是顏色為黑色的像素值。同樣,,如果將像素值更改為[255,0,0],,則該區(qū)域?qū)⒆優(yōu)樗{(lán)色(OpenCV以BGR格式讀取圖像)。 image_1[50: 100, 50:100] = [255, 0, 0] image_2 = cv2.imread(‘image_2.jpg’) resized_image_2 = cv2.resize(image_2, dsize=(100, 100)) image_1[50:150, 50:150] = resized_image_2 覆蓋PNG圖像 image_3 = cv2.imread(‘image_3.png’, cv2.IMREAD_UNCHANGED) print(image_3) array([[[0 0 0 0][0 0 0 0][0 0 0 0]…[0 0 0 0][0 0 0 0][0 0 0 0]]…[[0 0 0 0][0 0 0 0][0 0 0 0]…[0 0 0 0][0 0 0 0][0 0 0 0]]], dtype=uint8) import numpy as npones = np.ones((image_1.shape[0], image_1.shape[1]))*255 image_1 = np.dstack([image_1, ones]) image_1[150:250, 150:250] = image_3 alpha_image_3 = image_3[:, :, 3] / 255.0 alpha_image = 1 — alpha_image_3 for c in range(0, 3): image_1[150:250, 150:250, c] = ((alpha_image*image_1[150:250, 150:250, c]) + (alpha_image_3*image_3[:, :, c])) 交流群 |
|
來自: 小白學(xué)視覺 > 《待分類》