python+opencv3生成一个自定义纯色图教程
一、
图像在计算机中存储为矩阵。矩阵上一个点表示一个像素。若矩阵由一系列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)
运行以上代码的效果为:
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-OpenCV基本操作方法详解
基本属性 cv2.imread(文件名,属性) 读入图像 属性:指定图像用哪种方式读取文件 cv2.IMREAD_COLOR:读入彩色图像,默认参数,Opencv 读取彩色图像为BGR模式 !!!注意 cv2.IMREAD_GRAYSCALE:读入灰度图像. cv2.imshow(窗口名,图像文件) 显示图像 可以创建多个窗口 cv2.waitKey() 键盘绑定函数 函数等待特定的几毫秒,看是否由键盘输入. cv2.namedWindow(窗口名,属性) 创建一个窗口 属性:指定窗口大小模式
-
Pycharm 设置自定义背景颜色的图文教程
Pycharm可以通过设置主题来设定背景颜色,但主题的背景颜色也仅仅局限特定的几种,通过如下的方式可以自定义背景颜色. File--Settings--Editor--General--(右侧上方的框框)Text--Default text--选右侧的Background就可以设置背景色了. 图中的灰色背景RGB是192,192,192. 以上这篇Pycharm 设置自定义背景颜色的图文教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
基于Python3.6中的OpenCV实现图片色彩空间的转换
不同的色彩空间中对图片的色彩体现有很大不同 #色彩空间的相互转换:最常见的是HSV与RGB,YUV与RGB的相互转换 #常见色彩空间有: #RGB:最常用 #HSV:对指定色彩铭感,用于查找表达特定颜色 #HIS: #YCrCb:在人体肤色识别运用较多 #YUV:Android开发中运用较多 以下是对图片进行所有色彩空间的演示: import cv2 as cv ###导入openc包 def color_space_demo(image): gray = cv.cvtColor(image,c
-
python3+opencv生成不规则黑白mask实例
废话不多说,直接上代码吧! # -*- coding: utf-8 -*- import cv2 import numpy as np # -----------------------鼠标操作相关------------------------------------------ lsPointsChoose = [] tpPointsChoose = [] pointsCount = 0 count = 0 pointsMax = 10 def on_mouse(event, x, y, f
-
python opencv将图片转为灰度图的方法示例
使用opencv将图片转为灰度图主要有两种方法,第一种是将彩色图转为灰度图,第二种是在使用OpenCV读取图片的时候直接读取为灰度图. 将彩色图转为灰度图 import cv2 import numpy as np if __name__ == "__main__": img_path = "timg.jpg" img = cv2.imread(img_path) #获取图片的宽和高 width,height = img.shape[:2][::-1] #将图片缩小
-
python+opencv3生成一个自定义纯色图教程
一. 图像在计算机中存储为矩阵.矩阵上一个点表示一个像素.若矩阵由一系列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]
-
在python中利用pycharm自定义代码块教程(三步搞定)
当我们在使用pycharm时,输入特殊的关键字会有提示,然后按enter就可以自动补全,如果我们经常需要输出重复的代码时,能否也利用这种方法来自动补全呢? 下面我们就来利用pycharm自定义代码块: 1.打开pycharm中file下的setting,找到Editor下面的Live Templates ,右侧就会出现各种语言的代码块,我们选择Python,点击右侧的"+",选择Live Template 2.Abbreviation就是你自定义代码块的名字,Description是描
-
Python之——生成动态路由轨迹图的实例
一.scapy简介与安装 scapy(http://www.secdev.org/projects/scapy/)是一个强大的交互式数据包处理程序,它能够对数据包进行伪造或解包,包括发送数据包.包嗅探.应答和反馈匹配等功能.可以用在处理网络扫描.路由跟踪.服务探测.单元测试等方面,本节主要针对scapy的路由跟踪功能,实现TCP协议方式对服务可用性的探测,比如常用的80(HTTP)与443(HTTPS)服务,并生成美观的路由线路图报表,让管理员清晰了解探测点到目标主机的服务状态.骨干路由节点所处
-
使用Python 自动生成 Word 文档的教程
当然要用第三方库啦 :) 使用以下命令安装: pip install python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文档的格式(默认字体.页面边距等). 3.在文档对象中加入段落文本.表格.图像等,并指定其样式. 4.保存文档. 注:本库仅支持生成Word2007以后版本的文档类型,即扩展名为.docx 的. 下面分步介绍其基本使用方法: 步骤一: from docx import Document doc = Do
-
Python中生成一个指定长度的随机字符串实现示例
方法一: 定义一个函数,参数为所要生成随机字符串的长度.通过random.randint(a, b)方法得到随机数字,具体函数如下: def generate_random_str(randomlength=16): """ 生成一个指定长度的随机字符串 """ random_str = '' base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789' l
-
Python自动生成代码 使用tkinter图形化操作并生成代码框架
背景 在写代码过程中,如果有频繁重复性的编码操作,或者可以Reuse的各类代码,可以通过Python写一个脚本,自动生成这类代码,就不用每次手写.或者copy了. 比如新建固定的代码框架.添加一些既定的软件逻辑,通讯协议.消息模板等等,再编写一套代码时,或者一个Function时,每次使通过脚本一键生成代码,就不需要每次都写一遍了,同时可以把相关软件逻辑放进去,也能避免出错. 脚本代码 Demo_CodeGenerator.py 具体详细代码去掉了,大家想生成什么样的代码就在mycode中app
-
Python编写生成验证码的脚本的教程
在web开发中经常用到验证码,为了防止机器人注册或者恶意登陆和查询等,作用不容小觑 但是验证码其实不是一个函数就能搞定的,它需要生成图片和水印,其实每种语言都有相关的函数生成图片和文字水印.包括我熟悉的php,呵呵,今天主要来分享如何用python生成验证码. python生成验证码主要用到如下模块:Image, ImageDraw, ImageFont, ImageFilter和随机数生成模块Random. 代码如下: #!/usr/bin/env python #coding=utf-8 i
-
Python随机生成一个6位的验证码代码分享
1. 生成源码 复制代码 代码如下: # -*- coding: utf-8 -*- import random def generate_verification_code(): ''' 随机生成6位的验证码 ''' code_list = [] for i in range(10): # 0-9数字 code_list.append(str(i)) for i in range(65, 91): # A-Z code_list.
-
Python qrcode 生成一个二维码的实例详解
借助第三方库qrcode实现. 二维码图片生成借助pillow qrcode的安装 在命令行中输入 pip install qrcode[pil] 用法: 1.在命令行中输入 qr "Some text" > test.png 2.在python中输入 import qrcode img = qrcode.make('Some data here') 高级用法: 使用QRCode类 import qrcode qr = qrcode.QRCode( version=1, erro
-
Python生成一个迭代器的实操方法
Python怎么生成一个迭代器,对于需要处理大型数据来说,迭代器是必不可少的,这样可节省大量内存空间,更加合理操作数据. 首先我们打开编辑器,这里以Sublime text3作为示范,创建一个新的py文档. rg = range(100) for i in rg: print(i) 我们知道range可以涵盖比较广的范围,但是如果数据太大的时候,一次性打印会占用比较多内存. rg = range(100) rg_iter = iter(rg) print(rg_iter) 那么这个时候我们就可以
随机推荐
- ajax php实现给fckeditor文本编辑器增加图片删除功能
- JS实现最简单的冒泡排序算法
- 浅谈IIS安全配置
- AlertBox 弹出层信息提示框效果实现步骤
- c#模拟平抛运动动画的方法详解
- 基于MySQL分区性能的详细介绍
- MySQL replace函数替换字符串语句的用法
- Content-Disposition使用方法和注意事项
- BootstrapValidator超详细教程(推荐)
- 禁用JavaScript控制台调试的方法
- 详解react如何在组件中获取路由参数
- JS基于FileSaver.js插件实现文件保存功能示例 原创
- pv是什么的真正含义?
- C++线性时间的排序算法分析
- java中如何使用BufferedImage判断图像通道顺序并转RGB/BGR
- Spring3 MVC请求参数获取的几种方法小结
- C#用ComboBox控件实现省与市的联动效果的方法
- keepalived双机热备nginx的配置方法
- Vue拖拽组件开发实例详解
- .NET Core 微信小程序退款步骤——(统一退款)