教你在python中用不同的方式画不同颜色的画布!

零基础小白必看:教你在python画不同颜色的画布,简单好玩 文章目录 摘要 numpy的ndarray数据结构的索引与赋值 创建空白画布 初始化白色的画布 初始化彩色的画布 利用cv2的内置方法merge与split 利用numpy内置的索引 综合实验-初始化背景 「❤️ 感谢大家」 摘要 在这篇文章中将给大家讲解如何分别用numpy的方法,与numpy与cv2结合的方法创建空白画布,创建白色画布,与创建彩色画布。在讲解过程中还会介绍cv2进行通道分割cv2.split与通道合并cv2.merge的两个函数的具体使用以及深究numpy的ndarray 阅读详情

摘要

在这篇文章中将给大家讲解如何分别用 numpy 的方法,与 numpy与cv2结合 的方法创建空白画布,创建白色画布,与创建彩色画布。在讲解过程中还会介绍 cv2 进行通道分割 cv2.split 与通道合并 cv2.merge 的两个函数的具体使用以及深究numpy的ndarray数据结构的索引与赋值。

numpy的ndarray数据结构的索引与赋值

在使用画图工具的时候, 第一件事情就是创建一个新的空白画布,我们可以指定画布的大小和颜色。

那我们如何使用opencv来创建一个空白的画布(值相同的图片) ?

其实image的数据结构上的图片,本质上就是 numpy 里面的 ndarray的对象 ,创建一个画布本质上就是创建一个同等规格的 ndarray 。

创建一个新的特定尺寸的 ndarray 我们可以使用 np.zeors 函数,我们将图像的高度(height),图像的宽度(width),以及图像的通道数 channel 以 tuple 类型 传入 np.zeros 。 再次声明是tuple类型 。

另外由于不是所有的 numpy 类型的数值,都可以放到opencv中进行图像处理.

数值取值范围在 0-255 , 我们需要指定数据类型为 uint8 unsigned integer 8-bit

np.zeros((height, width, channels), dtype="uint8")
1
复制代码

举个例子:想创建一个800 x 600 x 3 的图片,一个BGR格式的图像,我们就得这么写:

# 初始化一个空画布 300×300 三通道 背景色为黑色 
canvas_black = np.zeros((600, 800, 3), dtype="uint8")
12
复制代码

得到的效果如下:

注意: height写在前面

为什么Height写在前面?

就得知道opencv图像的数据结构是numpy,Image的属性,其实就是numpy的ndarray数据格式的属性。

我们可以直接获取img对象的诸多属性,例如我们打印lena图的属性,具体如下:

# -*- coding: utf-8 -*- 
import numpy as np
import cv2

# 导入一张图像 模式为彩色图片
img = cv2.imread('lena.jpg', cv2.IMREAD_COLOR)

print("================打印图像的属性================")
print("图像对象的类型 {}".format(type(img)))
print(img.shape)
print("图像宽度: {} pixels".format(img.shape[1]))
print("图像高度: {} pixels".format(img.shape[0]))
print("通道: {}".format(img.shape[2]))
print("图像分辨率: {}".format(img.size))
print("数据类型: {}".format(img.dtype))
123456789101112131415
复制代码

输出结果:

用我雯示意,图像的加载、读取、转换、热图。 OpenCV彩色转为灰度图、通道拆分(cv2.split)及合并(cv2.merge) 图像加载问题 使用pytorch制作图像数据集时,需要将存储在磁盘、硬盘的图像读取到内存中,涉及到图像I/O问题。 在python中,图像处理主要采用的库:skimage, opencv-python, Pillow (PIL)。 这三个库均提供了图像读取的方法。 三种主流图像处理库的比较: 库 函数/方法 返回值 图像像素格式 像素值范围 图像矩阵表示 ... 阅读详情

相关推荐

python画散点图 不同属性赋予不同颜色

问题描述 数据结构: 其中cluster_db一共四个值(-1、0、1、2) 需要将经纬度作为x y轴绘制散点图,并且不同的cluster_db需要赋予不同的颜色显示 解决方法 1.内置颜色 首先导入数据 import pandas as pd beer = pd.read_csv('E:\\1\\20201112-Mobility diversity\\test.csv') 接着通过matplotlib.pyplot包绘图 import matplotlib.pyplot as plt df =

qq_42453890的博客 3万+

python如何使用matplotlib画散点图使不同类别的点有不同的形状和颜色?

文章地址:https://www.chzzz.club/post/239.html 我们在使用聚类算法时,希望最后画出的散点图中,不同的类别的点拥有不同的颜色和不同的形状的,但是matplotlib只能让我们使不同类别拥有不同的颜色,而对形状无能为力。下面这段代码就可以实现这个功能: import numpy as np import matplotlib.pyplot as plt de...

赛博空间 3万+

用python和html5在画布上画个车子和笑脸

画汽车 python提供了tutle(海龟)模块。这个模块提供了编写向量图的方法,基本上就是画直线,点和曲线。 海龟是怎样工作的,首先让python导入turtle模块。 import turtle 引入turtle模块后,调用turle模块中的Pen函数,它会自动创建一块画布,并且带一个箭头(它就代表海龟)。 t=turtle.Pen() 我们使用刚创建的t的函数给海龟发指令。

yill_h的博客 9090

10-OpenCVSharp —- Cv2.Merge()函数功能(将多个单通道图像合并成一个多通道图像)详解

函数将多个单通道图像合并为一个多通道图像。对于每个单通道图像(例如一个包含红色、绿色或蓝色信息的灰度图像),它们将被组合在一起,形成一个包含多个颜色通道的图像(例如 RGB 图像)。如果mv数组中包含三个Mat对象,合并后将得到一个三通道图像,通常为彩色图像。如果mv数组中包含一个Mat对象,合并后将得到一个单通道图像。是 OpenCVSharp 中的一个非常实用的函数,用于将多个单通道图像合并为一个多通道图像。这在图像处理过程中非常常见,尤其是在处理彩色图像、调整某些通道或进行颜色空间转换时。通过。

weixin_45590420的博客 1167

教你在python中用不同的方式画不同颜色的画布

作者:ywsydwsbn 博客主页:https://blog.youkuaiyun.com/ywsydwsbn 公众号:「做一个柔情的程序猿」 时间:2020-10-06 20:57 字数:7889 简介:先点赞在看,养成习惯!!! 文章目录摘要numpy的ndarray数据结构的索引与赋值创建空白画布初始化白色的画布初始化彩色的画布利用cv2的内置方法merge与split利用numpy内置的索引综合实验-初始化背景资源传送门「❤️ 感谢大家」 摘要 在这篇文章中将给大家讲解如何分别用numpy的方法,与nump.

左手の明天的博客 1255

python turtle绘图自定义画布背景颜色

  turtle是python一个简单好用的绘图包,它可以通过设计坐标来实时控制绘图。安装很简单,一行命令: pip install turtle   这里只介绍如何设置画布背景颜色。它一般是在绘图的最开始进行设置的,可以使用screensize(width, height, bg)函数,其中的三个参数分别是画布的宽、高、背景颜色。宽高的单位是像素,如果用小数表示,则是以屏幕宽高的百分比来确定大小的。但是如果只设置画布大小,是没法控制窗口的大小的,窗口大小需要使用setup(width, height,

zeeq的博客 1万+

UWB定位原理详细介绍

Hello大家好我是小智,今天我来给大家介绍下超宽带的定位原理,首先我们来讲下什么是UWB技术。 超宽带(Ultra Wide Band)简称UWB,和我们熟悉的WIFI、蓝牙技术一样属于通信技术的一种,UWB是一种无线载波通信技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,其所占的频谱范围很宽,右图是一种典型的正弦载波信号图。 UWB这种技术有什么特点呢? UWB系统结构实现简单;2.具有高速的数据传输能力;3.功耗低;4.安全性高;5.多径分辨能力强;6.可用于精确定位等特点。 UWB.

qq_35699674的博客 2万+

告别测序污染:手把手教你用Decontam+SCRUB+FEAST完成微生物组数据清洗全流程

本文详细解析了使用Decontam、SCRUB和FEAST三大工具完成微生物组数据清洗的全流程。从环境准备、数据导入到污染物识别、样本间污染校正及溯源分析,提供了一套可复用的污染校正工作流,帮助研究者提升数据质量,确保后续分析的可靠性。

weixin_33462927的博客 317

FreeSwitch采用mrcp协议对接科大讯飞asr和tts以及对话系统

FreeSwitch采用mrcp协议对接科大讯飞asr和tts对接过程

shanghaimoon的专栏 8839

NVIDIA DGX Spark实战:如何在桌面上轻松运行200B参数大模型(附配置教程)

本文提供了NVIDIA DGX Spark在桌面端运行200B参数大模型的完整实战指南。详细介绍了从硬件初始化、系统配置、容器化环境搭建,到模型加载、量化、推理流水线编写及性能调优的全过程。重点阐述了如何利用其统一内存架构和TensorRT-LLM等工具进行高效本地推理,并探讨了通过双机互联扩展以应对超大规模模型的方法。

i3j4k5的博客 782

【OpenClaw从入门到精通】第11篇:OpenClaw 2026多模态实战全攻略:OCR/语音/图像自动化(附完整代码+双部署方案)

本文聚焦OpenClaw 2026版核心升级的多模态能力,从底层架构原理到实操落地全流程拆解。先解析“统一指令解析+多工具适配器”的核心设计逻辑,再提供阿里云规模化部署(适合批量任务)与本地汉化版部署(适合隐私数据调试)的详细步骤,含依赖安装、配置验证完整操作;随后落地三大高频实战场景——OCR合同信息结构化提取、会议录音自动转写纪要、电商商品图片智能打标,每个场景均提供可直接运行的完整代码、执行结果演示及流程说明;最后补充多模态任务避坑指南、性能优化技巧与成本控制方案。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2611

基于Python实现学习进度跟踪系统

{{ task }}: {{ "%.1f"|format(hours) }}小时

寒寒豆豆软件公司的博客 195

【电弧】基于matlab simulink电弧仿真模型(Mayr Cassie电弧模型)【含Matlab源码 9226期】

simulink电弧仿真模型(Mayr Cassie电弧模型) 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 193

YOLO26 实例分割技术:Mask 分支与特征融合

YOLO26实例分割技术研究摘要:本文提出了一种基于YOLO架构的高效实例分割方法,通过创新设计Mask分支和特征融合策略解决像素级分割精度、多尺度目标处理等挑战。系统采用共享Backbone提取特征,检测分支输出边界框和类别,Mask分支生成原型Mask和组合系数。核心创新包括:1)原型Mask生成与线性组合机制;2)检测与Mask特征共享;3)结合BCE和Dice的多任务损失函数。实验表明该方法在保持实时性的同时实现了高质量分割,为轻量级实例分割提供了新思路。

一键难忘的博客 248

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 用Python进行DeFi应用的开发——不同的区块链项目是如何解决安全问题的?
下一篇: Python爬取Q房网全新楼盘房价信息,有钱人真的多!
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值