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