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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python使用列表和字典實現(xiàn)簡單的考試系統(tǒng)詳解
這篇文章主要介紹了Python使用列表和字典實現(xiàn)簡單的考試系統(tǒng),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-01-01pandas.DataFrame的pivot()和unstack()實現(xiàn)行轉(zhuǎn)列
這篇文章主要介紹了pandas.DataFrame的pivot()和unstack()實現(xiàn)行轉(zhuǎn)列,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-07-07python結(jié)合opencv實現(xiàn)人臉檢測與跟蹤
在Python下用起來OpenCV很爽,代碼很簡潔,很清晰易懂。使用的是Haar特征的分類器,訓練之后得到的數(shù)據(jù)存在一個xml中。下面我們就來詳細談談。2015-06-06python 3調(diào)用百度OCR API實現(xiàn)剪貼板文字識別
這篇文章主要為大家詳細介紹了python 3調(diào)用百度OCR API實現(xiàn)剪貼板文字識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09python使用正則表達式去除中文文本多余空格,保留英文之間空格方法詳解
這篇文章主要介紹了python使用正則表達式去除中文文本多余空格,保留英文之間空格方法詳解,需要的朋友可以參考下2020-02-02Python實現(xiàn)獲取前100組勾股數(shù)的方法示例
這篇文章主要介紹了Python實現(xiàn)獲取前100組勾股數(shù)的方法,涉及Python數(shù)值計算與判斷相關操作技巧,需要的朋友可以參考下2018-05-05