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


Posted in Python onFebruary 19, 2020

一、

图像在计算机中存储为矩阵。矩阵上一个点表示一个像素。若矩阵由一系列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生成一个自定义纯色图教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python定时器使用示例分享
Feb 16 Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
浅析Python的web.py框架中url的设定方法
Jul 11 Python
Django中的Signal代码详解
Feb 05 Python
python自定义函数实现一个数的三次方计算方法
Jan 20 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
python批量替换文件名中的共同字符实例
Mar 05 Python
Python响应对象text属性乱码解决方案
Mar 31 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
python os模块常用的29种方法使用详解
Jun 02 Python
python如何调用百度识图api
Sep 29 Python
Pygame Event事件模块的详细示例
Nov 17 Python
Python 实现Image和Ndarray互相转换
Feb 19 #Python
python3+opencv生成不规则黑白mask实例
Feb 19 #Python
使用celery和Django处理异步任务的流程分析
Feb 19 #Python
Python Numpy,mask图像的生成详解
Feb 19 #Python
浅谈图像处理中掩膜(mask)的意义
Feb 19 #Python
Python中logging日志库实例详解
Feb 19 #Python
在Python中通过threshold创建mask方式
Feb 19 #Python
You might like
PHP实现获取域名的方法小结
2014/11/05 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
csdn 博客的css样式 v3
2009/02/24 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
JavaScript基础语法、dom操作树及document对象
2014/12/02 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
浅谈Node 异步IO和事件循环
2019/05/05 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
python实现计算资源图标crc值的方法
2014/10/05 Python
Python与Redis的连接教程
2015/04/22 Python
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
python三大神器之fabric使用教程
2019/06/10 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
python lambda的使用详解
2021/02/26 Python
初中化学教学反思
2014/01/23 职场文书
建筑设计专业求职自我评价
2014/03/02 职场文书
公司业务员岗位职责
2014/03/18 职场文书
节能环保演讲稿
2014/08/28 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
消防演习感想
2015/08/10 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle