溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python+opencv3如何生成一個自定義純色圖

發(fā)布時間:2021-06-11 14:06:38 來源:億速云 閱讀:488 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹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)

運行以上代碼的效果為:

python+opencv3如何生成一個自定義純色圖

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如何生成一個自定義純色圖

以上是“python+opencv3如何生成一個自定義純色圖”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI