skimage图像处理入门

Python图像处理入门:手把手教你安装scikit-image(skimage)并解决ModuleNotFoundError 本文详细介绍了如何在Python中安装和使用scikit-image(skimage)进行图像处理,包括环境准备、虚拟环境设置、安装验证及常见问题解决(如ModuleNotFoundError)。通过实战案例展示图像处理管线构建,帮助开发者快速掌握skimage的核心功能和应用场景。 阅读详情

本例子的笔记,放在这里https://colab.research.google.com/drive/1ZVvfveFzIIOK005yRs5y_SuSmO1qRCD0

图像处理的基本操作是读取图像,显示图像,灰度图,二值化,直方图,图像分割,先来看看这些操作在skimage上如何做

import numpy as np

import matplotlib.pyplot as plt

from skimage import io,feature,color

#读取图像

img=io.imread('drive/My Drive/2.png')

#灰度图

imggray=color.rgb2gray(img)

io.imshow(imggray)

#显示图像,不是jupter book的话,要加下面这句话

#plt.show()

print(imggray.size)#834*660

print(img.ndim)#维度数

print(img.shape)#数组形状,png有rgba4个通道,jpg只有rgb三个通道

print(imggray.shape)

print(imggray.dtype)#数据类型

print(imggray[2][2])#可以看出,color.rgb2gray转灰度图时做了归一化处理

print(img[2][2][1])

#skimage没有提供专门的二值化函数,可以阀值法处理

c,r=imggray.shape

imgbw=np.zeros((c,r),dtype='uint8')

#python中没有三元运算符

for i in range(c):

  for j in range(r):

    if imggray[i,j]>0.5:

      imgbw[i,j]=255

    else:

      imgbw[i,j]=0

#显示二值图

io.imshow(imgbw)  

 图像切割,可以根据直方图或连通区标记

关于直方图处理可以看下面的文字

https://www.cnblogs.com/denny402/p/5124833.html

 

 

 

Python图像处理基本操作 在Python中进行图像处理可以使用的库有很多,本文主要介绍下面三个:OpenCV、PIL、 skimage。其中,OpenCV是图像处理中最强大的一个库,它的源代码是由C\C++写成的,所以原版的OpenCV可以与C、C++无缝结合。Python版的OpenCV主要依赖于cv2这个包来实现。Python里面自带一个PIL(python images library),但这个库现在已经停止更新了,所以使用Pillow,它是由PIL发展而来的 阅读详情

相关推荐

ABAP_自定义屏幕07—下拉列表框

ABAP_自定义屏幕07—下拉列表框 完成以下:页面中有下拉列表框,下拉框value=系统表SCRR的值 1、实现方法A-常用 1.1 在主程序定义字段 TYPES:BEGIN OF type_carrid, carrid LIKE scarr-carrid,"航线代码 carrname LIKE scarr-carrname,"航向名称 END OF type_carrid. DATA g_it_carrid TYPE STANDARD TABLE OF type_carrid

f346348157的博客 3871

三、skimage图像数据类型及颜色空间转换

一、图像数据类型及转换 在skimage中,一张图片就是一个简单的numpy数组,数组的数据类型有很多种,相互之间也可以转换。这些数据类型及取值范围如下表所示: Data type Range uint8 0 to 255 uint16 0 to 65535 uint32 0 to 232 float -1 to 1 or 0 to 1 in...

嘻哈吼嘿呵的博客 5257

NVIDIA DGX Spark 开发环境深度配置与优化指南

定期系统维护每月执行一次完整的系统更新监控存储空间使用情况,及时清理临时文件定期检查硬件健康状况开发习惯优化使用tmux或screen管理长时间运行的任务配置自动化测试和代码质量检查建立完善的项目文档体系性能调优周期每月重新评估和调整系统参数根据工作负载特点优化容器配置持续监控和记录性能指标DGX Spark作为一个强大的AI开发平台,其真正的价值需要通过精细的环境配置和优化才能充分发挥。本文提供的配置方案和建议均基于实际生产环境经验,旨在帮助开发者构建稳定、高效、可维护的开发环境。

time_days的博客 3685

Python 使用skimage实现将彩色图像转换为灰度图像并保存

Python实现 在做课程作业的时候 需要使用到一些灰度图片 但是Matlab卸载了 以前的一些测试图片也没有了 就利用python简单的实现一下 代码如下: import matplotlib.pyplot as plt from skimage import data,io from skimage.color import rgb2gray # 读取原图片 original = io.imread("img/3.jpeg") grayscale = rgb2gray(original) prin

海到无边天作岸 山登绝顶我为峰 7929

Win11任务栏图标消失?快速恢复指南

任务栏图标消失是Windows 11操作系统中常见的问题之一,但通过上述方法,用户通常可以轻松解决这一问题。无论是重启Windows资源管理器、使用命令提示符修复、检查系统更新和设置,还是考虑重装系统,都可以帮助用户恢复任务栏图标的正常显示。希望本文的介绍能对用户有所帮助,让Windows 11的使用更加顺畅和愉快。

mmoo_python的博客 5410

kaggle-NeurIPS - Open Polymer Prediction 2025-0.069

本文摘要: 本研究基于多任务学习框架,开发了聚合物物理化学性质预测模型,能够根据SMILES字符串同步预测玻璃化转变温度(Tg)、分数游离体积(FFV)等5种关键性质。针对数据缺失率高、样本不均衡等挑战,采用"先补充后扩充"策略整合多源数据,并融合RDKit分子描述符、ChemBERTa语义特征和自编码器特征构建多维度表征。模型采用硬参数共享架构,结合动态加权损失函数和早停机制,在验证集上表现出色,其中密度预测R²达0.92。研究为聚合物性能的高通量预测提供了有效解决方案,对材料智能设计具有重要参考价值。

2302_78976920的博客 783

skimage

skimage的简介       skimage即是Scikit-Image。基于python脚本语言开发的数字图片处理包,比如PIL,Pillow, opencv, scikit-image等。      PIL和Pillow只提供最基础的数字图像处理,功能有限;opencv实际上是一个c++库,只是提供了python接口,更新速度非常慢。scikit-image是基于scipy的一款图像处理包,它将...

syz201558503103的博客 885

Apifox 自动化测试新增流程控制条件,复杂测试场景不再是问题

在 if 条件后的输入框填写请求接口得到的变量 viewed ,选择条件为「小于」,输入比较数值 10 ,并在 if 条件下添加「宠物下架处理」步骤。借助新增的自动化测试流程控制条件,测试人员就可以使用 Apifox 去实现更深层更多样的测试应用场景,帮助提升测试效率,减少复杂场景的测试操作。「查询新建宠物」、「修改宠物状态为已售出」和「查询宠物状态是否修改」步骤为当前在售宠物信息盘点的三个标准步骤,所以将这三个步骤合成一组。在循环中添加「查询在售宠物」和「修改宠物状态」步骤;

877

skimage库的安装

skimage库的安装

knighthood2001 1万+

手把手完整实现STM32+LORA组网网关+机智云平台+手机APP应用———第一节- 一主多从的LORA本地组网通信-实现从机采集温湿度与主机显示数据

本教程为《手把手实现STM32+LORA组网网关+机智云平台+手机APP应用》第一节。实现一个主机,两个从机的LORA组网通信。两个从机采集温湿度数据并通过LORA传输数据到主机,然后主机接收到两个从机数据后进行数据显示,本节通过PC串口助手显示两个从机的数据。 下一节将其主机接收的数据通过WIFI网关(ESP8266)传到机智云平台与手机APP。 本文讲解一主多从的LORA本地组网通信,串口助手进行数据展示。使用硬件主要包括:STM32F103C8T6最小系统板(3个)、正点原子LORA模块ATK-L

嵌入式阿齐Archie 1万+

手把手教你学Simulink——高频隔离型双向DC-AC逆变器的建模与仿真

本文系统讲解高频隔离型双向DC-AC逆变器的Simulink建模与仿真,基于DAB+全桥逆变两级拓扑,详述DAB移相控制原理、双闭环控制策略及分步仿真搭建流程。重点涵盖电路建模、控制环设计、参数设置与常见问题调试,强调模块化分步验证与分层控制逻辑,实现安全、高效、灵活的双向能量流动仿真,适用于储能、微电网等场景的系统开发与验证。

MHD0815的博客 107

skimage图像处理(全)

skimage(全称scikit-image):是一个基于 scipy 和 numpy 构建的,专注于图像处理和计算机视觉的Python库。提供了一系列用于图像处理函数,包括图像滤波、边缘检测、图像分割、特征提取、图像配准等。

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 6188

第67步 时间序列建模实战:ARIMA建模(Stata)

第67步 时间序列建模实战:ARIMA建模(Stata)

Jet4505的博客 6819

skimage库:Python图像处理入门

在本篇学习笔记中,我们将深入浅出地探索图像处理的基本概念和技术。从最初的图像读取、尺寸获取,到颜色通道分离,再到更高级的图像灰度化、二值化、边缘检测和高斯滤波,每一步都配有直观的代码示例和结果展示。通过操作真实的图像数据—这里以一张猫和一张狗的图像为例—我们不仅会学习如何使用Python和。首先导入需要的库,然后用io.imread读取图片,获取基本信息 (高度,宽度,颜色通道)。库进行图像处理,还将了解到各种技术如何帮助我们提取图像信息、减少噪声并突出重要特征。

HUSTGO的博客 928

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

音视频系列7. 图像处理skimage

1. 图像基础 黑白图像用一个二维矩阵表示,灰度用0-1之间的数值表示。 彩色图像分通道表示,如下图,每个通道是0-255之间的整数。注意数值越大越白,越小越黑。不管是RGB还是BGR,都是高度×宽度×通道数,H×W×C的表达方式,而在深度学习中,因为要对不同通道应用卷积,所以用的是另一种方式:C×H×W。使用numpy的transpose函数可以进行转换。 基于python脚本语言开发的数字图...

kittyzc的博客 757

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python图片处理Image和skimage的不同

做cnn的难免要做大量的图片处理。由于接手项目时间不长,且是新项目,老板又一直逼我,前段时间写代码都很赶,现在稍微总结(恩,总结是个好习惯)。 1,首先安装python-Image和python-skimage、python-matplotlib。   简单代码: import Image as img import os from matplotlib import pyplot as p

野孩子的专栏 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Skimage图像处理教程1)安装,读写和调用示例图片

Skimage是python一个强大的图像处理的包,对于学习数字图像处理的小伙伴们来说是一个很实用的包,数据都是基于numpy格式所以熟悉numpy操作的小伙伴们会用的更方便,当然,不懂的话也没有影响。安装方式如下: pip install scikit-image 涉及到读写操作主要是使用skimage.io中的各种函数,skimage.data 提供了一系列的返回示例图片的方法,其中最为常用的...

Learning-Deep 6428

python skimage图像处理(一)

本文转自 python数字图像处理 skimage的安装 pip install -U scikit-image           skimage即是Scikit-Image。基于python脚本语言开发的数字图片处理包,比如PIL,Pillow, opencv, scikit-image等。 Python Imaging Library(PIL)和Pillow只提供最基础的数字图像处理,...

abcx3261的博客 2480

Py之skimage:Python库之skimage的简介、安装、使用方法之详细攻略

Py之skimage:Python库之skimage的简介、安装、使用方法之详细攻略           目录 skimage的简介 skimage的安装 skimage的使用方法           &nbs...

j_starry的博客 5万+

Skimage入门

Skimage入门 现在课程有门课搞机器视觉,老师让我们玩玩OpenCV,想起之前接触过skimage,比较简洁。就温故而知新喽! 先理一下结构。 子模块名称 主要实现功能 io 读取、保存和显示图片或视频 data 提供一些测试图片和样本数据 color 颜色空间变换 filters 图像增强、边缘检测、排序滤波器、自动阈值等 draw 操作于numpy数组上的基...

weixin_42231070的博客 898

python图像处理之skimage

转自:python数字图像处理(2):图像的读取、显示与保存 skimage提供了io模块,顾名思义,这个模块是用来图片输入输出操作的。为了方便练习,也提供一个data模块,里面嵌套了一些示例图片,我们可以直接使用。 引入skimage模块可用: 1 from skimage import io 一、从外部读

TheLittleBee的博客 2万+

python skimage图像处理

1、skimageskimage是scikit下的一个包,一般安装好scikit,就可以调用。2、简单示例from skimage import data, io, filtersimage = data.coins() # ... or any other NumPy array! edges = filters.sobel(image) io.imshow(edges) io.show()#sk

rosefun96的博客 1464

基于skimage的数字图像处理(一)——基础

Python与数字图像处理入门(基于skimage)

洲洲如梦的博客 1万+

python读取图像的几种方式

PIL库 参考:http://www.cnblogs.com/yinxiangnan-charles/p/5928689.html from PIL import Image # 打开图像 im = Image.open('E:/liuying/Pictures/test.png') im.show() print(&amp;quot;the datatype of im&amp;quot;, type(im)) # 读取的数据类...

liuyingying0418的博客 3970

Python中五种不同读取图片的方式

imgpath = '2968538221504814A.jpg' 1 matplotlib import matplotlib.pyplot as plt import numpy as np img1 = plt.imread(imgpath) 2 PIL(pillow) from PIL import Image # 导入PIL库 img2 = Image.open(imgpath) cv2 import cv2 # 导入OpenCV库 img3 = cv2.imread(imgpath)

mingo_敏 1308

python图像识别入门_图像处理?没有Python可不行

python作为简单高效又很强大的一门编程语言,对于图像的处理自然也是轻松拿下,scikit-image是python中处理图像的一个库,对大多数的图像处理算法进行了封装,用户只需调用相关的接口即可。入门示例首先使用pip安装skimagepip install skimage我们都知道,图像是由像素构成的,其中彩色图像还包括不同的通道,视频则是在图像的基础上加入时间变量而已。一张图就像是由像素点...

weixin_39685697的博客 440
上一篇: Matplotlib 入门
下一篇: 深度学习--bolzmann machine
吕刚
博客等级 码龄24年 217粉丝 151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值