OpenCV(二)之阈值与平滑处理

OpenCv学习笔记(二):图像阈值、平滑处理、腐蚀与膨胀python (零基础小白opencv图像处理) 一、图像阈值 二、图像平滑处理 1、cv2.blur() 均值滤波 2、cv2.GuassianBlur() 高斯滤波 3、中值滤波 三、形态学腐蚀操作 1.灰度化 2.二值化 3.腐蚀操作 四、形态学膨胀操作 阅读详情

Image smoothing系列

在这一节中,我分析了关于openCV中的阈值操作,还有对于图像的平滑处理,实践了均值滤波、方框滤波、高斯滤波、中值滤波这几个滤波器对于一张带有噪音的图像处理。


Image smoothing-阈值操作

function:
def threshold(src, thresh, maxval, type, dst=None):
   
   对每个数组元素应用固定级别阈值。
   该功能将固定级阈值应用于单通道阵列。该函数通常用于从灰度图像中获取双层(二进制)图像(cv :: compare也可用于此目的)
   或用于消除噪声,即滤除太小或太小的像素很大的价值。函数支持几种类型的阈值处理。它们由类型参数确定。
   
   此外,特殊值#THRESH_OTSU或#THRESH_TRIANGLE可以与上述值之一组合。
   在这些情况下,函数使用Otsu或Triangle算法确定最佳阈值,并使用它而不是指定的阈值。该函数返回计算的阈值。
   目前,Otsu和Triangle方法仅适用于8位图像。
   
   参数
   SRC	输入数组(单通道,8位或32位浮点)。
   DST	输出与src大小和类型相同的数组。
   THRESH	阈值。
   MAXVAL	与THRESH_BINARY和THRESH_BINARY_INV阈值类型一起使用的最大值。
   类型	阈值类型(参见cv :: ThresholdTypes)。

ThresholdTypes.

THRESH TYPE
THRESH TYPE
Note.

#ThresholdTypes的类型
二值化的操作类型,包含以下5种类型,
cv2.THRESH_BINARY 大于阈值会取值maxval 小于阈值取值0 亮越亮 暗越暗
cv2.THRESH_BINARY_INV 对THRESH_BINARY的取值方式翻转 亮变暗 暗变亮
cv2.THRESH_TRUNC 截断法,对于每一个像素点,大于阈值的一律取为阈值,小的不变 亮变暗 暗则暗
cv2.THRESH_TOZERO 大于阈值的不变,小于阈值的赋为0 亮则亮 暗更暗
cv2.THRESH_TOZERO_INV 对THRESH_TOZERO的取值方式翻转 亮变暗 暗则暗

Eg.

#阈值操作
#读取图片,并将其从BGR to RGB
img = cv2.cvtColor(cv2.imread('dog.jpg'),cv2.COLOR_BGR2RGB)
ret,thresh1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
ret,thresh2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV)
ret,thresh3 = cv2.threshold(img,127,255,cv2.THRESH_TRUNC)
ret,thresh4 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO)
ret,thresh5 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO_INV)
titles = ['Original Image','BINARY','BINARY_INV','TRUNC','TOZERO','TOZERO_INV']
images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]
for i in range(6):
    plt.subplot(2,3,i+1),plt.imshow(images[i],'gray')
    plt.title(titles[i])
    plt.xticks([]),plt.yticks([])
plt.show()

Result.
不同阈值下的成像


Image smoothing-图像平滑

Image Smoothing:图像平滑是指用于突出图像的宽大区域、低频成分、主干部分或抑制图像噪声和干扰高频成分的图像处理方法,目的是使图像亮度平缓渐变,减小突变梯度,改善图像质量。

方法:插值方法,线性平滑方法,卷积法等等。


滤波操作-均值滤波
function
def blur(src, ksize, dst=None, anchor=None, borderType=None): 
    使用标准化的盒式过滤器平滑图像。
	该函数使用此内核来平滑图像:

blur函数的内核

	参数
	SRC	输入图像; 它可以有任意数量的通道,这些通道是独立处理的,但深度应该是CV_8U,CV_16U,CV_16S,CV_32F或CV_64F。
	DST	输出与src相同大小和类型的图像。
	ksize	平滑内核大小。
	anchor	锚点; 默认值Point(-1,-1)表示锚点位于内核中心。
	borderType  外推图像时的像素填充模式,请参阅cv :: BorderTypes

Eg.

#图像平滑
#导入一张带有噪音的图像
img = cv2.imread('lena.jpg')
img1 = cv2.imread('lenaNoise.png')
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
img1 = cv2.cvtColor(img1,cv2.COLOR_BGR2RGB)
plt.subplot(121)
plt.imshow(img)
plt.title('Original')
plt.subplot(122)
plt.imshow(img1)
plt.title('Noise lena')
plt.show()

Result.1
blur

#均值滤波操作
blur = cv2.blur(lenaNoise,(3,3))
plt.subplot(131)
plt.imshow(lena)
plt.title("Original")
plt.subplot(132)
plt.imshow(lenaNoise)
plt.title("Lena Noise")
plt.subplot(133)
plt.imshow(blur)
plt.title("After Blur")
plt.show()

Result.2
blur
Note.

1.The call blur(src, dst, ksize, anchor, borderType) is equivalent to boxFilter(src, dst, src.type(), anchor, true, borderType).


滤波操作-方框滤波
function
def boxFilter(src, ddepth, ksize, dst=None, anchor=None, normalize=None, borderType=None): 
    使用盒式过滤器来平滑图像。
    该函数使用此内核平滑图像:

在这里插入图片描述

	参数
	SRC	输入图像。
	DST	输出与src相同大小和类型的图像。
	ddepth	输出图像深度(为-1时使用src.depth())。
	ksize	平滑内核大小。
	anchor	锚点; 默认值Point(-1,-1)表示锚点位于内核中心。
	normalize 标签,指定内核是否按其区域进行规范化。
	borderType	外推图像时的像素填充模式,请参阅cv :: BorderTypes

Eg.

#当ddepth指定为-1时,输出的图像大小与输入大小一致,normalize表示是否归一化
#当normalize指定为True的时候,其计算方式等同于blur
box = cv2.boxFilter(lenaNoise,-1,(3,3),normalize=True)

#当normalize指定为false,即不进行归一化,
#那么卷积过程中的像素点,会溢出,但不是饱和操作
box_unNormalize = cv2.boxFilter(lenaNoise,-1,(3,3),normalize=False)
#显示输出
plt.subplot(131)
plt.imshow(lenaNoise)
plt.title('Noise lena')
plt.subplot(132)
plt.imshow(box)
plt.title('box_Normalize')
plt.subplot(133)
plt.imshow(box_unNormalize)
plt.title('box_unNormalize')
plt.show()

Result.
boxFilter

Note.

1.非标准化盒式滤波器可用于计算每个像素邻域上的各种积分特性,例如图像导数的协方差矩阵(用于密集光流算法等)。
2.如果需要在可变大小的窗口上计算像素总和,请使用cv :: integral。


滤波操作-高斯滤波
function
def GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None):
    使用高斯滤波器平滑图像。
	该函数将源图像与指定的高斯内核进行卷积,支持就地过滤。
	
	参数
	SRC	输入图像; 图像可以有任意数量的通道,这些通道是独立处理的,但深度应该是CV_8U,CV_16U,CV_16S,CV_32F或CV_64F。
	DST	输出与src相同大小和类型的图像。
	ksize	高斯核大小。ksize.width和ksize.height可以不同,但​​它们都必须为正数且为奇。
			或者,它们可以是零,然后它们是从sigma计算得到。
	sigmaX	X方向的高斯核标准偏差。
	sigmaY	Y方向的高斯核标准偏差; 如果sigmaY为零,则将其设置为等于sigmaX;
			如果两个sigma均为零,则分别从ksize.width和ksize.height计算(详见cv :: getGaussianKernel);
			为了完全控制结果,无论将来可能修改所有这些语义,建议指定所有ksize,sigmaX和sigmaY。
	borderType   像素外推法,参见cv :: BorderTypes

Eg.

#高斯滤波
aussian = cv2.GaussianBlur(lenaNoise,(3,3),1)
#显示输出
plt.subplot(121)
plt.imshow(lenaNoise)
plt.title('lenaNoise')
plt.subplot(122)
plt.imshow(aussian)
plt.title('aussian')
plt.show()

Result.
aussian


滤波操作-高斯内核-getGaussianKernel()
function
def getGaussianKernel(ksize, sigma, ktype=None):

返回高斯滤波器系数。
该函数计算并返回高斯滤波器系数的?????×1矩阵:

getGaussianKernel

其中两个生成的内核可以传递给sepFilter2D。 
这些函数自动识别平滑内核(一个权重总和等于1的对称内核)并相应地处理它们。 您也可以使用更高级别的GaussianBlur。

滤波操作-中值滤波
function
def medianBlur(src, ksize, dst=None):
    使用中值滤波器平滑图像。
	该功能使用具有?????×????? aperture 的中值滤波器平滑图像。 
	多通道图像的每个通道都是独立处理的,支持就地过滤。
	
	参数
	SRC	输入1,3或4通道图像; 当ksize为3或5时,图像深度应为CV_8U,CV_16U或CV_32F,对于较大的光圈尺寸,它只能是CV_8U。
	DST	与src具有相同大小和类型的目标数组。
	ksize	aperture linear size; 它必须是奇数且大于1,例如:3,5,7 ......

Eg.

#中值滤波
median = cv2.medianBlur(lenaNoise,3)
#显示输出
plt.subplot(121)
plt.imshow(lenaNoise)
plt.title('lenaNoise')
plt.subplot(122)
plt.imshow(median)
plt.title('median')
plt.show()

Result.
median

Note.

1.中值过滤器在内部使用BORDER_REPLICATE来处理边界像素,请参阅cv :: BorderTypes


滤波操作-几种滤波的效果对比

Eg.

#几种不同的滤波器
blur = cv2.blur(lenaNoise,(3,3))
box = cv2.boxFilter(lenaNoise,-1,(3,3),normalize=True)
aussian = cv2.GaussianBlur(lenaNoise,(3,3),1)
median = cv2.medianBlur(lenaNoise,3)
#显示输出
plt.subplot(221)
plt.imshow(lenaNoise)
plt.title('Noise lena')
plt.subplot(222)
plt.imshow(box)
plt.title('boxFilter')
plt.subplot(223)
plt.imshow(aussian)
plt.title('GaussianBlur')
plt.subplot(224)
plt.imshow(median)
plt.title('medianBlur')
plt.show()

Result.
Comparison

Note.

1.因为,均值滤波等同于标准化的boxfilter,所以没有在上图加入均值滤波的比较。
2.目前来看,中值滤波表现最佳。


补充点,及细节知识

1.之前一直没有怎么关心API里面体现的 In-place filtering is supported 是什么意思,于是研究了并记录一下。
in-place操作,意思是所有的操作都是”就地“操作,不允许进行移动,或者称作 原位操作,即不允许使用临时变量。
所以在滤波中的过滤操作(暂且都认为是卷积操作),“就地过滤”应该是指,卷积过程中不使用临时变量,通过加减、位运算来实现。


END

网闸的基本配置 本文详细介绍了网闸的基本配置流程,包括物理连接与初始化、网络基础配置、核心数据交换策略配置、安全增强配置、管理与运维以及测试验证等关键步骤。网闸通过在物理隔离环境下建立"数据摆渡通道",实现特定业务数据的安全交换。配置时应遵循最小化、单向化、内容控制和审计原则,确保只开放必要通道,优先采用单向传输,进行内容安全检查并记录操作日志。不同厂商网闸的配置界面可能不同,但核心逻辑是相通的。 阅读详情

相关推荐

滤波算法-呼吸心跳信号检测方法(四)

呼吸心跳信号检测系列文章:信号滤波处理

yjh_2019的博客 6273

自适应阈值求边缘

之前一直是不太信任简单的阈值分割的,刚做了个小实验,用自动阈值分割试着分割图像(均值、高斯)和opencv手册上的结果不同,只能显现出边缘。后来想明白了,自动阈值分割以周边区域的(权重)平均值为阈值,在平滑区域,无论是黑还是白阈值和自身都大致相等,都不能有效分割前景背景,只有在边缘区域可以。也就是说,自动阈值分割仅对线型分割有不错的效果...

qq_35710240的博客 1066

ENVI与Sarscape协同处理哨兵一号数据的完整流程解析

本文详细解析了利用ENVI与Sarscape软件协同处理哨兵一号(Sentinel-1)SAR数据的完整工作流程。从环境搭建、数据导入与裁剪,到核心的DEM辅助多时相配准、斑点噪声滤波,再到最终的地理编码与辐射定标,提供了标准化的操作指南与实用技巧,帮助用户高效地将原始雷达数据转化为可用于分析的地理编码产品。

weixin_29251131的博客 339

python opencv cv2.threshold() (将固定级别的阈值应用于每个数组元素)ThresholdTypes 最大类间方差法(大津法,OTSU)

def threshold(src, thresh, maxval, type, dst=None): # real signature unknown; restored from __doc__ """ threshold(src, thresh, maxval, type[, dst]) -> retval, dst . @brief Applies a f...

Dontla的博客 2050

别再死磕官方文档了!用宿舍开黑的故事,5分钟搞懂Autosar CanNM网管报文

本文通过宿舍开黑游戏的生动类比,深入浅出地解析了Autosar CanNM网管报文的工作原理。从游戏队友协作到汽车ECU节点的同步机制,详细介绍了网管报文的唤醒流程、通信协议及休眠策略,帮助读者快速掌握这一关键技术。

weixin_30463341的博客 262

浙大数值分析lab2

最可怕的一道题,题目是这样的 Root of a Polynomial A polynomial of degree nnn has the common form as p(x)=cnxn+cn−1xn−1+⋯+c1x+c0p(x)=c_n x^n + c_{n-1} x^{n-1} + \cdots + c_1 x + c_0p(x)=c​n​​x​n​​+c​n−1​​x​

yao_zou的博客 4797

OPENCV threshold type类型选择

opencv threshold文档图片描述

u011724566的专栏 3361

CV领域交叉注意力机制:QKV在图像特征增强中的核心作用解析

本文深入解析了CV领域中交叉注意力机制的核心组件QKV在图像特征增强中的关键作用。通过通俗类比和实战案例,阐述了Q(查询)、K(键)、V(值)如何协同实现动态权重分配,从而在目标检测、图像分割与生成等任务中显著提升模型性能与语义对齐能力。

weixin_29194817的博客 447

Python调用OpenCV实现图像平滑处理

在OpenCV中,经常用到的二维图像平滑处理有以下4种:均值滤波、中值滤波、高斯滤波和双边滤波。本节我们介绍在Python环境下调用OPenCV接口,如何对图像进行平滑处理。

Bruce Che 的专栏 2157

Agent Harness Engineering: AI Agent 执行管控与安全沙箱 原理与最佳实践

我们正站在计算范式转移的历史节点上。2024-2026 年间,AI 系统从被动的内容生成器(Generative AI)演变为主动的行动执行者(Agentic AI)。这一转变的根本特征是:根据 2026 年初的行业数据:然而,能力的提升伴随着风险的指数级增长。2024-2026 年间发生的多起标志性安全事件揭示了 Agent 系统的脆弱性:案例 1:Slack AI 数据外泄事件(2024 年 8 月)案例 2:制造业供应链攻击(2026 年 Q3)案例 3:Arup 深度诈骗案(2026 年 9 月)这

AI天才研究院 1672

基于YOLOv13+CBAM注意力机制

本教程详细介绍了CBAM注意力机制的原理及其在YOLOv13中的集成方法。CBAM通过通道注意力和空间注意力两个模块,动态调整特征权重以增强模型性能。通道模块利用池化操作和共享MLP生成通道权重,空间模块则通过池化和卷积生成空间权重。教程提供了在YOLOv13中实现CBAM的具体步骤,包括模块代码定义、模型配置修改等关键环节,帮助开发者在目标检测任务中提升模型表现。

FJN110的博客 306

python-opencv函数总结之(一)threshold、adaptiveThreshold、Otsu 二值化

python-opencv函数总结之(一)threshold、adaptiveThreshold、Otsu 二值化

sinat_21258931的博客 8万+

IEM模型,地表粗糙度模拟

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

opencv(二)之图像阈值与平滑处理

接着上一次的文章: https://blog.youkuaiyun.com/qq_42839893/article/details/108027070 还是用这只猫咪: 进行灰度处理有利于后续操作: img_gray = cv2.imread("cat.jpg", cv2.IMREAD_GRAYSCALE) 1.最简单的阈值处理 #超过阈值(127)部分,取maxval(255,白色),否则取0(黑色) ret , thresh1 = cv2.threshold(img_gray, 127 ,255, cv2

qq_42839893的博客 363

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【Opencv入门到项目实战】(二):图像阈值与平滑处理

在图像处理中,阈值处理和平滑处理都是对图像预处理常用的技术,接下来我们讨论一下在opencv如何对一个图形进行阈值和平滑处理

阿里云专家博主、数据科学领域优质创作者、统计er在读 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

opencv学习(二)图像阈值和平滑处理

图像阈值和平滑处理python学习

abc1234abcdefg的博客 2080

openCV (二) 阈值与平滑处理 回顾总结

文章目录一、图像阈值二、图像平滑(1)均值滤波(2)方框滤波(3)高斯滤波(4)中值滤波 一、图像阈值 ret,dst = cv2.threshold(src,thresh,maxval,type) - src: 输入图,只能输入单通道图像,通常来说为灰度图 - dst:输出图 - thresh: 阈值 (通常为 127,255的一半) - maxval: 当像素值超过了阈值(或者小于阈值,根据type来判定),所赋予的值 - type : 二值化操作类型,包含了一下五中类型 - cv2.THRES

深度菜鸡-达闻西的博客 282

基于python的opencv项目实战笔记(二)—— 阈值与平滑处理

import cv2 as cv import matplotlib.pyplot as plt import numpy as np def cv_show(name,img): cv.imshow(name,img) cv.waitKey(0) cv.destroyAllWindows() def cv_threshold(img): #第一个参数为原始图像(通常来说是灰度图),第二个为阈值(大于阈值会怎样,小于会怎样),第三个为最大数据(一般为255),第四个参数(怎.

m0_53257476的博客 802

OpenCV图像处理和应用—阈值与平滑处理(二)

© Fu Xianjun. All Rights Reserved. 平滑处理 平滑 也称 模糊, 是一项简单且使用频率很高的图像处理方法。 平滑处理的用途有很多, 但是在本教程中我们仅仅关注它减少噪声的功用 (其他用途在以后的教程中会接触到)。 平滑处理时需要用到一个 滤波器 。 最常用的滤波器是 线性 滤波器,线性滤波处理的输出像素值 (i.e. g(i,j)) 是输入像素值 (i.e. f(i+k,j+l))的加权和 : h(k,l) 称为 核, 它仅仅是一个加权系数。 不妨把 滤波器 想象成一个包

FloatingDreaam的博客 244

动态二维码中值滤波处理_opencv(二)之图像阈值与平滑处理

接着上一次的文章:social:opencv-python库基础操作(一)​zhuanlan.zhihu.com还是用这只猫咪:进行灰度处理有利于后续操作:img_gray = cv2.imread("cat.jpg", cv2.IMREAD_GRAYSCALE)1.最简单的阈值处理#超过阈值(127)部分,取maxval(255,白色),否则取0(黑色) ret , thresh1 = cv2...

weixin_33305287的博客 319

OpenCV(4):图像阈值处理、图像平滑处理

通过设定一个阈值,可以将图像中的像素分为两类:高于阈值的像素和低于阈值的像素。OpenCV 提供了多种阈值处理方法,下面将详细介绍三种常见的阈值处理技术:简单阈值处理、自适应阈值处理以及 Otsu's 二值化。与高斯滤波不同,双边滤波在平滑图像的同时,能够保留图像的边缘信息。与均值滤波不同,高斯滤波在计算像素平均值时,会给中心像素赋予更高的权重,而给边缘像素赋予较低的权重。OpenCV 提供了多种平滑处理的方法,下面将详细讲解四种常用的平滑处理技术:均值滤波、高斯滤波、中值滤波和双边滤波。

游王子og的博客 1382

图像平滑c语言,OpenCV实现二值图像的边缘光滑处理

本文实例为大家分享了OpenCV学习笔记之针对二值图像的边缘光滑处理(突出部消除),供大家参考,具体内容如下处理代码分为两部分,第一部分用于去除边缘的突出部,第二部分用于边缘光滑。具体如下所示1.去除边缘突出部//去除二值图像边缘的突出部//uthreshold、vthreshold分别表示突出部的宽度阈值和高度阈值//type代表突出部的颜色,0表示黑色,1代表白色void delete_jut...

weixin_39619270的博客 2110

openCV——阈值与平滑处理

import cv2 import matplotlib.pyplot as plt %matplotlib inline import numpy as np 阈值处理 ret, dst = cv2.threshold(src, thresh, maxval, type) src: 输入图,只能输入单通道图像,通常来说为灰度图 dst: 输出图 thresh: 阈值 maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值 type:二值化操作的类型,包含以

D_Low的博客 262

Opencv第六章 新手入门之图像的阈值

对于图像阈值的操作,公式如下: ret,dst = cv2.threshold(src,thresh,maxval,type) 其中src是输入图,只能输入单通道图像,一般来说只输入灰度图 dst是输出图 thresh是阈值,一般来说是127(因为值域为0-255,取中间值恰好为127) maxval是当像素超过了阈值,所赋予的值 type是二值化操作的类型,共包括五种方式: ...

m0_54396639的博客 480

python目标轮廓提取,opencvpython中轮廓目标的检测与提取

这里有一个简单的方法:将图像转换为灰度获取二值图像的阈值对图像进行形态学平滑处理找到轮廓并提取ROI在转换成灰度后,我们用阈值来获得二值图像image = cv2.imread('1.png')original = image.copy()gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)thresh = cv2.threshold(gray, 120, ...

weixin_39841640的博客 1652

opencv——形态学应用—提取识别码中的文字

目录原理API代码效果 原理 膨胀,输出的像素值是结构元素覆盖下输入图像的最大像素值 腐蚀,输出的像素值是结构元素覆盖下输入图像的最小像素值 膨胀会使白色膨胀,黑色缩小 腐蚀会使白色缩小,黑色膨胀 这是基于原理的,在kernel扫的时候,膨胀是将锚点替换为区域内最大值,腐蚀是将锚点替换为区域内最小值 最大值255是白色,最小值0是黑色 开操作:先腐蚀后膨胀 闭操作:先膨胀后腐蚀 开操作先腐蚀,将黑色的杂点去除,后膨胀,黑色的大块恢复原状。 闭操作先膨胀,将白色的杂点去除,后膨胀,白色的大块恢复原

路人coder 521

部分图像分割后处理方法

开运算:先腐蚀后膨胀,用于移除由图像噪声形成的斑点。闭运算:先膨胀后腐蚀,用来连接被误分为小块的对象。

weixin_44037500的博客 389
上一篇: OpenCV(一)之图像基本操作
下一篇: OpenCV(三)之图像形态学处理
DeepLearningJay
博客等级 码龄7年 3064粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值