自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (18)
  • 收藏
  • 关注

原创 “Sensor”的名词解释与概述

没任何基础就能看懂CMOS图像传感器

2022-07-06 15:37:41 8896 1

转载 光色(色温)

光是有颜色的,光发出的颜色就是色温。色温就是指光源光谱成份的颜色。色温的单位用(K)表示,是英国物理学家开尔文(Kelvin)的英文缩写。当光线的颜色偏红、橙、黄色时,我们就称它为低色温。当光线的颜色偏青、蓝或蓝紫色时,我们就称它为高色温。当光线的颜色是白色时我们就称它为正常色温,并且任何一种色彩只有在白色的光线照射下才能得到自身的正常颜色。1、色温的来历色温是开尔文从零下273摄氏度对黑体进行加温测量而来的。黑体在加温过程中,温度每升高1度,那么黑体的辐射值就升高一个值,这个值就是1K。当黑体

2022-04-26 14:12:53 7608

转载 5分钟理解相机ISP (图像信号处理)

引言凡是在图像领域工作的人,都会经常听到ISP (Image Signal Process, 图像信号处理),知道ISP对图像质量非常重要。比如华为和小米竞争手机拍照和录像效果,主要的竞争领域就是ISP;做AI (Artificial Intelligence, 人工智能) 的人也知道,如果ISP不给力,后续的AI处理效果会受到影响。ISP在视觉处理过程中的位置(图中的成像引擎)以前,我们想了解一下ISP里面到底有什么,会拿到一个巨大图,伴随一个名词列表,搞不清重点。再请教.

2021-12-29 19:09:39 8212 2

原创 MATLAB中矩阵与数组的区别,点运算符的运用

正如matlab(矩阵实验室)这个名字一样,matlab的数据结构只有矩阵(array)一种形式(可细分为普通矩阵和稀疏矩阵)。单个的数就是1*1的矩阵;数组或向量就是1*n或n*1的矩阵。事实上对于matlab来说数、数组或向量和二维矩阵在本质上没有任何区别,他们的维数都是2,一切都是以矩阵的形式保存的。*******************************************************************************************一维..

2021-12-27 20:04:18 1208

转载 ISP(图像信号处理)算法概述、工作原理、架构、处理流程

目录ISP的主要内部构成:ISP内部包含 CPU、SUP IP(各种功能模块的通称)、IF 等设备ISP的控制结构:1、ISP逻辑 2、运行在其上的firmwareISP上的Firmware包含三部分:AP对ISP的操控方式:外置:I2C/SPI。 内置:MEM MAP、MEM SHAREISP架构方案:内置、外置ISP 处理流程:Bayer、黑电平补偿 (black level compensation)、镜头矫正(lens shading correction)、

2021-09-28 16:29:55 8440

原创 CIE颜色空间

国际照明委员会(CIE,Commission Internationale de L'Eclairage / International)的色度模型是最早使用的模型之一。它是三维模型,其中,x和y两维定义颜色,第3维定义亮度。CIE 1931RGB1.颜色匹配实验根据颜色匹配实验,如下图所示。图中左方是一块白色屏幕,上方为红R、绿G、蓝B三原色光,下方为待配色光C,三原色光照射白屏幕的上半部,待配色光照射白屏幕的下半部,白屏幕上下两部分用一黑挡屏隔开,由白屏幕反射出来的光通过小孔抵达右方观...

2021-09-24 17:22:57 5227 2

转载 MacAdam Ellipsis (麦克亚当椭圆)

“麦克亚当椭圆”在照明领域是一个非常重要的名词,但很多照明人对于它的理解存在偏差。不少介绍麦克亚当椭圆的文章中对于其定义与介绍也不是非常准确。例如有的科普所讲到的:“1942年科学家麦克亚当利用这个原理对25中颜色进行实验,在每个颜色点大约5到9个对侧方向上测量,记录它们刚好能够分辨出颜色差异时的两点距离,结果得到的是一些面积大小各异、长短轴不等的椭圆,称为麦克亚当椭圆”,其实这个是不正确的定义。根据David L. MacAdam于1942年发表的文章Visual Sensitivities to Col

2021-09-01 11:12:18 5905

转载 ISP Pipeline

ISP Pipeline一.ISP Pipeline 名称解释 1.知乎网友回答: 2.Understanding ISP Pipeline专家回答 二.ISP 详细讲解 RAW域处理 一.ISP Pipeline 名称解释管道线1.知乎网友回答:pipeline,中文意为管线,意义等同于流水线。最典型的就是Gpu渲染管线,它指明渲染一个画面需要经过多少到工序。还有就是应用于爬虫框架里面。它就是指某个项目或者框架里面需要用到流水线的设计来简化设计,降低复杂度并提

2021-08-20 16:46:55 4145 1

转载 浅谈白平衡

1. 为何需要白平衡?讨论白平衡,那就要从色温(CCT)谈起,色温顾名思义就是色彩的温度,但是这个色温和我们一般所认知的冷色、暖色不同,它指的是一个绝对黑体(物理学家想象出来的)从绝对零度(-273℃)开始持续加温所呈现出来的颜色,譬如在炼钢炉里给一块铁加热,就会从黑->暗红->亮红->金黄,接着就融化了,因为铁的熔点是1535℃,所以更高温度的颜色就看不到。但从焊接用的火可以看到蓝色的火焰,那是更高的温度所辐射出来的颜色。这些颜色的差异来自于不同波长光线的比例不同,如下图所示,色

2021-08-20 14:49:33 791

原创 自动白平衡(AWB)基础

图像色彩一、人眼看到的色彩我们对颜色的感觉是光能量首先由眼睛处理。然后由大脑处理的结果,这个处理过程的确切性质是复杂的,实际上还没有完全理解。幸运的是,为了理解我们研究的许多问题,一个非常简单的图像形成模型就足够了。下图是一个简单的图像形成模型的图示。...

2021-07-02 14:31:05 1819

原创 Python字典视图浅析

字典的items(),keys()和values()方法用于返回字典键值对的视图对象。视图对象支持迭代操作,并可反应未来对字典的修改。视图对象不是列表,不支持索引。通常list()将视图对象转换为列表。1.items() items方法返回键值对视图。例如:x={'name':'john','age':25}y=x.items()#返回键值对视图print("y=x.items()-->",end="")print(y)#显示键值对视图,键值对视图为dict_items()

2020-11-03 16:31:29 1166 1

原创 对比 C++ 和 Python,谈谈指针与引用

https://www.cnblogs.com/pythonista/p/11178705.html

2020-10-30 11:35:20 129

原创 浅析NumPy 副本和视图以及Python中append() 与深拷贝、浅拷贝

NumPy 副本和视图副本是一个数据的完整的拷贝,如果我们对副本进行修改,它不会影响到原始数据,物理内存不在同一位置。视图是数据的一个别称或引用,通过该别称或引用亦便可访问、操作原有数据,但原有数据不会产生拷贝。如果我们对视图进行修改,它会影响到原始数据,物理内存在同一位置。视图一般发生在:1、numpy 的切片操作返回原数据的视图。 2、调用 ndarray 的 view() 函数产生一个视图。副本一般发生在:Python 序列的切片操作,调用deepCopy()函数。 调用 n

2020-10-28 23:31:13 285

原创 Jupyter Notebook导入anaconda的虚拟环境的一些问题

Jupyter Notebook是非常方便的Python IDE,安装anaconda后Jupyter NoteBook也会安装好,使用起来十分方便。当anaconda使用的多了之后,会有创建多个虚拟环境来兼容不同版本的python环境及安装包的需求,这时再使用Jupyter Notebook时就需要制定使用的虚拟环境的需求。其实使用虚拟环境非常简单,只需要安装一个nb_conda包就可以直接使用了。创建tf虚拟环境:conda install tensorflow==1.14conda ins

2020-09-09 20:23:48 415

原创 pillow常用图像处理功能总结

PIL:Python Imaging Library,是Python环境下最受欢迎的图像处理库之一。pillow简单优雅而功能强大,是图像相关机器学习任务中算法工程师的亲密合作伙伴。pillow如下16个常用的图像处理功能:1.图片读写2. 图片与array互转3. 图片与string互转4. 图片由彩色转灰度5. 图片通道分离与合并6. 调整图片尺寸7. 截取图片部分区域8. 图片旋转9. 图片翻转10. 提取图片边缘11. 图片高斯模糊12. 在.

2020-09-03 13:18:13 1459

转载 深度学习必须掌握的 13 种概率分布

作为机器学习从业者,你需要知道概率分布相关的知识。这里有一份最常见的基本概率分布教程,大多数和使用 python 库进行深度学习有关。一 概率分布概述 共轭意味着它有共轭分布的关系。 在贝叶斯概率论中,如果后验分布 p(θx)与先验概率分布 p(θ)在同一概率分布族中,则先验和后验称为共轭分布,先验称为似然函数的共轭先验。共轭先验维基百科在这里(https://en.wikipedia.org/wiki/Conjugate_prior)。 多分类表示随机方差大于 2。

2020-09-03 11:07:27 202

原创 特征选择 (feature_selection)

本文主要参考sklearn(0.18版为主,部分0.17)的1.13节的官方文档,以及一些工程实践整理而成。  当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征:特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。 特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择。除移除低方差法外,本文介绍的其他方法均从相关性考虑。根据特征选择的形式又可

2020-08-29 18:18:41 739

原创 Pytorch中Tensor的类型转换

Pytorch中的Tensor常用的类型转换函数(inplace操作):(1)数据类型转换  在Tensor后加 .long(), .int(), .float(), .double()等即可,也可以用.to()函数进行转换,所有的Tensor类型可参考https://pytorch.org/docs/stable/tensors.html(2)数据存储位置转换  CPU张量 ----> GPU张量,使用data.cuda()  GPU张量 ----> CPU张量,使用da.

2020-08-28 16:21:51 2033

转载 Pandas数据分析——超好用的Groupby与map、apply、applymap详解

Groupby详解 在日常的数据分析中,经常需要将数据根据某个(多个)字段划分为不同的群体(group)进行分析,如电商领域将全国的总销售额根据省份进行划分,分析各省销售额的变化情况,社交领域将用户根据画像(性别、年龄)进行细分,研究用户的使用情况和偏好等。在Pandas中,上述的数据处理操作主要运用groupby完成,这篇文章就介绍一下groupby的基本原理及对应的agg、transform和apply操作。为了后续图解的方便,采用模拟生成的10个样本数据,代码和数据如下:co...

2020-08-21 23:01:14 4195

原创 Python之基本数据类型与数据结构

Python之基本数据类型与数据结构一、基础数据类型  标准数据类型:    ·不可变数据类型      Number(数字):int、float、bool、complex(复数)      String(字符串)      Tuple(元祖):不可变,无法通过下标来修改值    ·可变数据类型      List(列表):[ ]      Set(集合):{ }      Dictionary(字典):{ key:value}  可变数据类型:当值改变时,.

2020-08-18 15:59:02 290

原创 pandas.Series.add中参数fill_value一些理解

个人猜测这个值是把a和b中value=NaN的值都变成fill_value,然后a和b相同索引的value相加,缺失值用NaN代替

2020-08-17 22:55:56 2365 1

原创 python之pandas用法笔记

一、生成数据表1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用import numpy as npimport pandas as pd2、导入CSV或者xlsx文件:df=pd.DataFrame(pd.read_csv('name.csv'),header=1)df=pd.DataFrame(pd.read_excel('name.xlsx'))3、用pandas创建数据表:import numpy as npimport pandas as

2020-08-17 19:04:14 495

原创 Numpy的拷贝和视图

当对数组进行运算和操作时,其数据有时会被拷贝到一个新的数组而有时又不会拷贝。这一点常常对刚使用NumPy的用户造成困惑。以下有三种情况:1. 完全不拷贝简单的任务是不会对数组或其数据进行拷贝的。Python传递可变对象的引用,因此函数调用不会进行拷贝。2. 视图或浅拷贝不同的数组对象可以共享相同的数据。view方法会创建一个共享原数组数据的新的数组对象。如果数组A是数组B的视图(view),则称B为A的base(除非B也是视图)。视图数组中的数据实际上保存在base数组中。

2020-08-16 10:48:23 272

原创 一文弄懂RAM、ROM、闪存、硬盘

曾经有一段时间,我对电脑、手机上的RAM、ROM、内存、闪存、运行内存、机身内存、存储空间等都"傻傻分不清楚",后来花了不少时间,才把这几者的来龙去脉分清楚。这段时间在复习计算机基础知识,把这些东西都整合一下。总的来说上面那些算是存储器,从存储器的材质来看,大概可以分为三种,分别是磁性的机械硬盘、DVD和蓝光类的光盘,而第三种则是今天要讲的主人公,半导体存储器,顾名思义,它是用半导体集成电路工艺制成的存储数据信息的固态电子器件。如果光看"存储器"这个名字的话,可能很多人会把它们都当作U盘、存储卡、硬

2020-07-28 11:08:13 3862 2

原创 tensor.clone() 和 tensor.detach()

1 tensor.clone()返回tensor的拷贝,返回的新tensor和原来的tensor具有同样的大小和数据类型原tensor的requires_grad=True clone()返回的tensor是中间节点,梯度会流向原tensor,即返回的tensor的梯度会叠加在原tensor上>>> import torch>>> a = torch.tensor(1.0, requires_grad=True)>>> b = a.cl

2020-07-20 11:21:33 2717

原创 PyTorch 关于多 GPUs 时的指定使用特定 GPU

PyTorch 中的 Tensor,Variable 和 nn.Module(如 loss,layer和容器 Sequential) 等可以分别使用 CPU 和 GPU 版本,均是采用.cuda()方法.如:import torcha = torch.Tensor(2, 3)if torch.cuda.is_available(): # 判断是否支持 CUDA a.is_cuda # False a = a.cuda() # 放到 GPU 上 a.is_cud..

2020-07-18 10:38:50 3982

原创 Matplotlib二维绘图 - plt.matshow()和plt.imshow()区别对比

plt.imshow():plt.matshow():二者不同在于横轴一个在上方一个在下方,还有就是plt.matshow()显示图片可以连续使用,但是plt.imshow()想要显示多张图片必须每次都新建一个图plt.figure()或者使用plt.subplots(),当然最后都是使用的plt.show()来显示图片!...

2020-07-13 21:48:23 5381

原创 ValueError:could not broadcast input array from shape (148,148,32) into shape (1)错误原因

ValueError: could not broadcast input array from shape (148,148,32) into shape (1)原本是一个简单的list转换为array函数,结果却出现这样的错误:could not broadcast input array from shape (128,128,3) into shape (1)后来尝试了网上很多种方法,都没有办法解决问题。可能的原因:1、本身的数据集出现问题,没有统一尺寸。2、(我代码出错的地方)ten

2020-07-13 16:49:24 5695

原创 随机池化(Stochastic Pooling)

前言 CNN中卷积完后有个步骤叫pooling, 在ICLR2013上,作者Zeiler提出了另一种pooling手段(最常见的就是mean-pooling和max-pooling),叫stochastic pooling。只需要对Feature Map中的元素按照其概率值大小随机选择,元素选中的概率与其数值大小正相关,并非如同max pooling那样直接选取最大值。这种随机池化操作不但最大化地保证了取值的Max,也部分确保不会所有的元素都被选取max值,从而提高了泛化能力。...

2020-07-06 16:58:03 7240 2

转载 encv —— HoughCircles 霍夫圆变换原理及圆检测

霍夫圆变换原理霍夫圆变换的基本原理与霍夫线变换(https://www.cnblogs.com/bjxqmy/p/12331656.html)大体类似。对直线来说,一条直线能由极径极角(r,θ)表示,而对于圆来说,我们需要三个参数:圆心(a,b),半径 r。笛卡尔坐标系中圆的方程为:化简便可得到:对于(x0,y0),我们可以将通过这一点的所有圆统一定义为:a = x0- r·cosθb = y0- r·sinθ这就意味着每一组(a,b,r)代表一个通过点的...

2020-06-17 17:36:35 1593

原创 python-opencv中的逻辑运算与mask的理解

python-opencv中的逻辑运算opencv中有四种逻辑运算函数:与运算 cv2.bitwise_and();或运算 cv2.bitwise_or();异或运算 cv2.bitwise_xor();非运算 cv2.bitwise_not();当对一个二值化的图像做位运算时:与运算:有0为0,全1为1或运算:有1为1,全0为1异或运算: 不同为1,相同为0四种计算后面都有一个mask参数,当mask参数 = None时,不参加运算;否则输

2020-06-09 16:09:22 1539 2

原创 argparse的点点滴滴

argparse是一个Python模块:命令行选项、参数和子命令解析器。argparse模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后argparse将弄清如何从sys.argv解析出那些参数。argparse模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。argparse功能如下:1. 处理可选参数和位置参数2. 生成 usage messages3. 支持派生出sub-parsers创建解析器class arg...

2020-06-04 22:50:27 138

原创 Python 使用习惯

Python 使用习惯是指那些经常被使用的语法、语义和结构,这样写更加符合 Python 风格,看起来更像一个地道的 Pythoner.本系列目的,分类整理 Python 使用习惯1. if not x直接使用 x 和 not x 判断 x 是否为 None 或空x = [1,3,5]if x: print('x is not empty ')if not x: print('x is empty')# 下面写法不够 Pythonerif x and len

2020-06-03 23:12:44 197

原创 关于__str__和__repr__的一些理解

有时候我们想让屏幕打印的结果不是对象的内存地址,而是它的值或者其他可以自定义的东西,以便更直观地显示对象内容,可以通过在该对象的类中创建或修改__str__()或__repr__()方法来实现(显示对应方法的返回值)注意:__str__()方法和__repr__()方法的返回值只能是字符串!关于调用两种方法的时机使用print()时 使用%s和f'{}'拼接对象时 使用str(x)转换对象x时在上述三种场景中,会优先调用对象的__str__()方法;若没有,就调用__repr__()方法;若

2020-06-03 22:09:47 144

转载 权值初始化 - Xavier和MSRA方法

设计好神经网络结构以及loss function 后,训练神经网络的步骤如下:初始化权值参数 选择一个合适的梯度下降算法(例如:Adam,RMSprop等) 重复下面的迭代过程: 输入的正向传播 计算loss function 的值 反向传播,计算loss function 相对于权值参数的梯度值 根据选择的梯度下降算法,使用梯度值更新每个权值参数 初始化神经网络的训练过程是一个迭代的过程,俗话说:好的开始就是成功的一半,所以的权值参数的初始化的值对网络最终的训练结果有很大的影

2020-06-03 15:14:12 254

原创 十大经典排序算法大梳理 (动图+代码)

一、冒泡排序算法思想:1.比较相邻的元素。如果第一个比第二个打,就交换他们两个。2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步做完之后,最后的元素会是最大的数3.针对所有的元素重复以上的步骤,除了最后一个4.持续每次对越来越少的元素重复上面的步骤。直到没有任何一对数字需要比较。...

2020-05-24 22:48:45 421

转载 图解Python 直接赋值、浅拷贝和深度拷贝

直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象 字典浅拷贝实例import copya = {"a": [1, 2, 3]}b = a.copy()print(a, b) # {1: [1, 2, 3]} {1: [1, 2, 3]}a["a"].append(4)print(a, b) # {'a': [1...

2020-05-21 14:38:13 138

原创 numpy广播机制图解

前言 numpy的广播机制旨在提供一种当被处理数组维度大小不一样时仍然能计算的机制。首先要明白,在数组(或者说是向量,数组的本质就是多维向量的组合)计算时,除了一些特殊的计算(点乘等),其他操作都是元素一一对应的操作,它要求被处理的数组的维度以及每个维度大小相等。但是,许多计算中,想要一个维度对其他所有维度操作,此时被操作的数组的大小不一样,但numpy采用广播机制来处理这个问题。广播的引出 numpy两个数组的相加、相减以及相乘都是对应元素之间的操作。import numpy as np

2020-05-13 15:56:11 1091

转载 深度学习:批归一化Batch Normalization

深度神经网络模型训练难,其中一个重要的现象就是 Internal Covariate Shift. Batch Norm 自 2015 年由Google 提出之后, Layer Norm / Weight Norm / Cosine Norm 等也横空出世。BN,Batch Normalization,就是在深度神经网络训练过程中使得每一层神经网络的输入保持相近的分布。BN的来源Motivat...

2020-04-26 14:00:46 144

转载 python matplotlib中axes与axis的区别

https://www.zhihu.com/question/51745620

2020-04-21 19:24:17 411

ImageProcessing-Python-master.zip

图像的一些编程题目 含有答案 自用秋招 分享出来 十分好用 答案详细 推荐使用python/c++食用

2020-09-23

批量归一化代码 适用所有网络框架

自用BN操作 适用所有的算法 只需要改一些必要的层链接 深度学习 批量归一化 python余语言 tensorflow pytorch 均可使用

2020-09-23

tensorflow-handbook.zip

最新最全的的TensorFlow2.0手册中英文 包括tengsorflow部署搭建 基础语法等等

2020-04-22

模式识别-黄庆明_中科院.zip

中科院课程模式识别的笔记 很全 整理的很清晰 有兴趣的可以下下来可以对照中科院的模式识别学习 也可以当做工具书 里面有很多算法

2019-06-27

实验四-指示灯和拨码开关实验.doc

DSP实验报告 内置三个实验 指示灯和拨码开关实验 电机控制实验 DSP算法实验 有限冲激响应滤波器(FIR)算法实验

2019-05-30

小波变换代码包.zip

小波变换代码包 内含三个代码包 比较实用的小波分析matlab代码!!!

2019-05-23

多级小波分解(完整matlab代码)

首先把图片倒入MATLAB,利用小波基对图像进行三层分解。第一次分解产生一个高频,三个低频,第二次对第一次产生的高频分解,产生一个低频三个高频;第三次对第二次的低频分解产生三个高频一个低频。三层分解后产生一个低频9个高频,并产生对应的小波系数

2019-05-23

图像统计模型.docx

国外一个大佬的论文翻译过来的版本 关于图像小波边缘统计模型 小波联合统计模型法 图像的压缩 恢复 合成

2019-05-23

斯坦福大学CS229机器学习完整详细笔记 中文版 (含Coursera课程作业代码 以及全套中文版笔记).zip

包含斯坦福大学课程笔记中文版 Coursera课程笔记以及作业答案matlab 完整版

2019-05-12

斯坦福CS231课程全套资料.zip

斯坦福大学李飞飞CS231课程 包括课程PPT 英文原版笔记 中文翻译完整版笔记 并且都带书签!!!

2019-05-12

modicon_MODBUS协议最新中文版

modicon_MODBUS协议最新中文版,很详细的资源,自己用的手册!

2019-04-18

李宏毅 深度学习资料

李宏毅大佬的深度学习资料打包整理了!很不错讲的很详细!

2019-04-18

数字图像处理中的基本运算(超全!合123页)

数字图像处理中的基本运算,内容超全!合123页

2019-04-18

lyu08c-reprint

Processing of signals is often facilitated by transforming to a representation in which individual components are statistically independent. In such a natural coordinate system, the components of the signal may be manip-ulated, transmitted, or stored more efficiently.

2019-03-27

通信原理知识点(详细版)

通信原理知识点综合版本,分为二十几个考点,带专业课上课时候用的资料!

2019-03-27

样本平均数的方差的推导

样本平均数的期望以及方差的推导,以及样本方差的期望以及平均数的推导!统计学里经常碰到的,分享出来

2019-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除