python+opencv3生成一个自定义纯色图教程

(编辑:jimmy 日期: 2024/9/24 浏览:2)

一、

图像在计算机中存储为矩阵。矩阵上一个点表示一个像素。若矩阵由一系列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)

运行以上代码的效果为:

python+opencv3生成一个自定义纯色图教程

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生成一个自定义纯色图教程

这篇python+opencv3生成一个自定义纯色图教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?