您好,登錄后才能下訂單哦!
這篇文章主要介紹python+opencv3如何生成一個自定義純色圖,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
一、
圖像在計算機中存儲為矩陣。矩陣上一個點表示一個像素。若矩陣由一系列0~255的整數值組成,則表現為灰度圖。便于理解,以下貼出代碼:
import cv2 import numpy as np img = np.ones((3,3),dtype=np.uint8)#random.random()方法后面不能加數據類型 #img = np.random.random((3,3)) #生成隨機數都是小數無法轉化顏色,無法調用cv2.cvtColor函數 img[0,0]=100 img[0,1]=150 img[0,2]=255 cv2.imshow('img',img) cv2.waitKey(0)
運行以上代碼的效果為:
img[0,0]表示矩陣第一行第一列的元素,其值為100。以此類推。由圖可以看出,值越大,灰度越小,顯示越接近白色。(也可以理解為亮地越多。0表示啥也不亮,黑色;255表示全亮,白色)
二、
以上是單通道的效果,接下來將上圖轉化為3通道BGR圖 ,每一個像素點由一個三元數組表示。其中bgr_img[]0,0,0]表示第一行(y)第一列(x)B通道的值;bgr_img[100,200,1]表示第101行(y)第201列(x)G通道的值。
注:第三個參數表示BGR通道,取值范圍為0~2
便于理解,以下貼出代碼:
bgr_img = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR) cv2.imshow('bgr_img',bgr_img) bgr_img[:,:,0] = 0 bgr_img[:,:,1] = 255 bgr_img[:,:,2] = 255 cv2.imshow('bgr_img2',bgr_img) cv2.waitKey(0)
以上代碼和第一部分結合起來運行,運行后效果如下:
以上是“python+opencv3如何生成一個自定義純色圖”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。