自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (6)
  • 收藏
  • 关注

翻译 提供做某事Do you want me to..._45

目录建议做某事提议做某事 建议做某事今天我们将继续学习如何用英语来表达提出建议。让我们先复习如何使用正式或非正式语句来提供某物以及如何提出建议。了解如何提出提议和建议对日常生活而言非常重要,对吧?在第43文章中,你已学会如何表达提出建议:Do you want...?(你要...?)Would you like...?(你想要...?)例如:Do ...

2018-11-27 10:47:13 1239

原创 Linux实战 | Centos6.8安装matlab的mount挂载问题的解决方法_3

今天这篇文章跟大家一起学习,在用linux挂载linux外部文件,及其挂载过程中出现的问题。首先确保虚拟机的linux系统正在运行,好了,我开始挂载之前,我们要检查CD/DVD IDE是否正在运行,然后点击它,需要选择你要挂载的文件,这里需要注意,设备状态,两个都要打上勾:这里我的需要挂载的E盘的Matlab的iso格式的安装包 ,因为我要安装它,OK,选择完成后,点击确定,这时就要检...

2018-11-26 11:10:09 1405

翻译 8.霍夫变换:线条——动手编码、霍夫演示_4

目录动手编码霍夫演示动手编码我们将在这里花一分钟来演示一下,如何使用Matlab构建霍夫变换。我再重复一遍,在你们的习题集上,你们要做一些Hough代码。你不能使用已经存在的Hough实现,也不能使用其他任何人的Hough实现。因为事实证明,当你去写你的Hough实现的时候某些东西会失效。在这种经历中,你会了解到它的重要元素是什么。赶快自己编写一个吧。代...

2018-11-25 10:27:06 334

翻译 8.霍夫变换:线条——投票原理、霍夫空间、线的极坐标表示_2

目录投票原理霍夫空间线的极坐标表示投票原理就像我之前说的,检查每一行是不可能的,即使是一台非常非常快的电脑。我们要做的是让数据告诉我们,让数据决定线在哪里。因为这是民主,我们该怎么办?  我们要做的是投票。因此,投票是一种通用的技术,我们让特性投票给所有与之兼容的模型。它的工作方式很简单:1、循环遍历所有特征(特征指的是小的边缘点),每次为模型参数投...

2018-11-25 10:27:01 9937 4

翻译 8.霍夫变换:线条——霍夫的效果、噪声对霍夫的影响、霍夫拓展_5

目录霍夫的效果噪声对霍夫的影响霍夫拓展本环节结束霍夫的效果这里我将给你们展示一个Hough运行在真实图像上的例子来告诉你们它做得好和做得不好。这是一张美国足球场的照片:这是美式足球,你知道,用的球不是圆的。我们运行一个有味道的边缘探测器,我们得到这些边缘,这些是一些有趣的边缘:然后我们要做的是通过一个霍夫累加器阵列来运行它:你可以看到这里的正...

2018-11-25 10:26:56 883

翻译 8.霍夫变换:线条——介绍、参数模型、直线拟合_1

目录介绍参数模型直线拟合介绍到目前为止,我们一直在做图像处理,你把一个图像 和 应用一些函数相加得到一个新的图像我标记为。这很好,整个课程,实际上是整个职业生涯,数以万计的PHD写在图像处理上。但这不是我们来这里的原因。我们来谈谈真正的计算机视觉。在真实的视野中,你仍然可以拍摄一张照片,但你得到的是好东西。整个想法是我们把图像放进去,然后把东西拿出来。那...

2018-11-25 10:26:52 2160

翻译 8.霍夫变换:线条——基本的霍夫变换算法、霍夫变换的复杂性、霍夫例子_3

目录基本的霍夫变换算法霍夫变换的复杂性霍夫例子基本的霍夫变换算法说到算法,我们来看一下:我们将使用直线的极坐标参数化,极坐标表示。还有一种叫Hough累加器(数组)的东西,它只是用来表示要收集选票的东西。在这种情况下是二维的,箱子代表不同的 d 值和不同的  值。你必须决定的事情是:箱子有多大? 它们有多少个?所以,如果从 0 到 ,也就是0度到180度...

2018-11-25 10:26:47 1523

翻译 7.边缘检测:2D运算——Canny的不同结果、单个2D边缘检测滤波器、实现边缘3种方法Matlab实战_3

目录Canny的不同结果单个2D边缘检测滤波器实现边缘3种方法Matlab实战第一种 图像差异第二种 Canny边缘检测器第三种 高斯拉普拉斯变换Canny的不同结果右边的图像是左边的一个边缘后的结果。有趣的是,我的意思是,它看起来很不错,是一个很好的边缘图像。但是我的第一个计算机视觉课程来自Berthold Horn,他是计算机视觉的创造者之一。而...

2018-11-25 10:25:37 775

翻译 7.边缘检测:2D运算——Canny边缘原理、Canny边缘检测器、Canny-Matlab实战_2

目录Canny边缘原理Canny边缘检测器Canny-Matlab实战Canny边缘原理既然我们知道了如何计算光滑导数和梯度,我们就可以回到如何找到边的问题上。基本上这是一个多步骤的过程,对吧?1.你要创建平滑的导数来抑制一些噪声我们要计算一些主要的梯度。2.我们要对梯度进行阈值以找到一些重要的变化区域。3.我们将这些领域,我们要做所谓的变薄。(下面所示的一...

2018-11-25 10:25:32 636

翻译 7.边缘检测:2D运算——回顾、高斯滤波器2D的导数、Sigma对导数的影响_1

目录回顾高斯滤波器2D的导数Sigma对导数的影响回顾我们要完成我们的边缘检测这个单元,然后它会被用在你以后要做的事情上。上单元我们讲了边的概念以及它们是如何与梯度和函数导数的大小相关的。我们还记得,如果你大脑的某个部分脱落了,应该是梯度是什么。我们讨论过开发一些运算,你可以应用到图像中去计算这些梯度。我们展示了它们是如何对噪音敏感的,我们不得不担心滤波器以平滑...

2018-11-25 10:25:26 3116 2

翻译 6.边缘检测:梯度——梯度计算中滤波器的线性特性的利用_6

到现在为止还挺好。在现实世界中,在这里有这个小函数f(x):它有一些东西,然后它需要一个跳跃,它在那里有更多的东西:这就是强度作为x的函数。如果我实际上只是通过做一个正确的差异来获取该函数的梯度。我要做的是,应用导数算子,得到这个:有人可能会问,边缘在哪里。我们可以看到,这条边,哎呀,我漏了,这条边就在这里。如图:但在这导数这个图种很混乱,很找到边缘...

2018-11-25 10:25:11 1021 1

翻译 6.边缘检测:梯度——计算梯度Matlab实战_5

目录计算x,y梯度梯度方向操作计算x,y梯度让我们仔细看看梯度方向,特别是它们如何计算和表示。% Gradient Direction>> pkg load image;>>% Load and convert image to double type, range[0,1] for convenience>> img = doub...

2018-11-25 10:25:06 13505 1

翻译 6.边缘检测:梯度——索贝尔算子(Sobel)、Matlab梯度(Sobel)实战_4

目录索贝尔算子(Sobel)Matlab梯度(Sobel)实战索贝尔算子(Sobel)人们其实做导数和边的时间已经很长了。最经典的是Sobel运算,它是以一个叫索贝尔的人的名字命名的。Sobel运算就像我给你们看的上面的图片一样。但不是  和 ,它很奇怪的是它在乘以。可以看到,它不仅是-2 +2 ,然后除以4得到相同的值。如图:但它在我上面的行上也有-1  +1...

2018-11-25 10:24:59 21440

翻译 6.边缘检测:梯度——有限差分、图像的偏导数、离散梯度_3

目录有限差分图像的偏导数离散梯度有限差分看,我们刚才讲的内容对于微积分课来说是没问题的,在微积分课上,你会得到所有那些花哨的希腊符号。到现在为止,你可能希望你能多注意一些希腊的符号。但问题是,我们如何在一个计算机上做这些事情,在那里我们不能做连续数学?为了做到这一点,我们需要讨论离散梯度。在连续数学中,f关于x的偏导就是这个极限,对吧?所以我们在x方向上...

2018-11-25 10:24:54 7970

翻译 6.边缘检测:梯度——边缘检测、导数与边缘、什么是梯度_2

目录边缘检测导数与边缘什么是梯度?边缘检测问题是我们该怎么办?我们如何计算? 要算出图像中的像素。像素是某个位置x y,实际上是一个边缘像素。也就是说它落在边缘上或者是边缘的一部分。思考这个问题,我们必须回到图像作为函数的概念。这是我们的喜剧女演员:这是同一个函数的两种不同表示。一个只是碰巧以图片的形式呈现给你,所以你习惯了看到它,尽管它很吓人。...

2018-11-25 10:24:48 8892 2

翻译 6.边缘检测:梯度——回顾、简化的图像、边缘概念_1

目录回顾简化的图像边缘概念回顾上环节,我们开始讨论过滤作为一种在图像中找到特定模式的方法。我们讨论了模板查找。这个想法是给定一些模式,相关或卷积是在图像中找到那个模式的一种方法。我们假设,我们要找的目标是交给我们的。然后还有一个想法,也许我们可以取这个模式出现的位置。这就成了我们寻找的东西的描述。你甚至可以把它看作是对图像的描述,尽管我们没有讲太多。但同样,这就...

2018-11-25 10:24:42 634

翻译 5.过滤器作为模板——寻找沃尔多、不相同的模板匹配_3

目录寻找沃尔多不相同的模板匹配寻找沃尔多所以你们中年龄足够大的人会记得,尤其是如果你来自美国。你会记得有一段时间有一本书叫《沃尔多在哪里》。他们会给你一个像左边这样的场景,你的目标是找到。这是Waldo,有点模糊,很难看到,这可能是我的模板。 我想找到沃尔多。如果你看一下这个,每个人都能看到Waldo在哪里吗? 他就在那边,如图: 问题是,如何进...

2018-11-25 10:14:51 377

翻译 5.过滤器作为模板——模板匹配、Matlab模板匹配实战_2

目录模板匹配模板匹配实战模板匹配让我们继续探索使用过滤器作为模板的想法,我们想在二维空间中找到什么。模板是你给我的东西,你说我想让你找到类似这样的东西,我们要通过过滤来做。我想这是Christian Grumman的一个很好的例子。这里有一个非常简单的例子。如图:左边是一个场景,右边是这个模板。这就是我们想要找到的想法。你看这里,你说,哦,我看到它在哪里...

2018-11-25 10:14:42 356

翻译 5.过滤器作为模板——1D 相关、Matlab互相关实战_1

目录1D 相关Matlab中的互相关互相关实战在某种意义上,这些过滤器的比例,乘法比例是相同的。否则,相关性将按其差异进行缩放,在这里,我将介绍它,我们将规范化我们的过滤器。比方说,通过使它们所有像素的标准偏差等于1,我们可以说:这将是一种方法,因为当我上下调整过滤器时,其标准偏差会增大和缩小。我将不再做出标准偏差,恰好是一个。如果你有一个常数,这是一个问题。不要担...

2018-11-25 10:14:34 502

翻译 4.线性和卷积——不同种类的噪声、中值滤波器揭破和实战_5

目录不同种类的噪声中值滤波器(亦称边缘保留)中值滤波器-实战不同种类的噪声我们两次讨论过高斯平均是合理的。 如果噪声在每个像素中是独立的并且以0为中心。 因此,噪声是由高斯过程产生的。所以有些是积极的,有些是消极的,等等。 现在我们已经谈了他们如何进行过滤。但是还有其他种类的噪音,我们需要不同种类的过滤。也许不是线性滤波器。在左边,我们有胡椒图像添加了一点点...

2018-11-25 10:14:16 1196

翻译 4.线性和卷积——线性滤波器、非锐化掩蔽原理揭破_4

目录线性滤波器非锐化掩蔽原理揭破线性滤波器因此,本主题的最后一部分,我们将对我们将要执行的不同过滤器进行一些简单的分析,然后我们将在以后进行更复杂的过滤。在这里我们有一张照片,左边是原始的照片,人的眼睛,我用脉冲过滤器卷积这个图像,你将会得到什么?那么当你用脉冲对图像进行卷积时,你会得到什么?你得到的是原始的图像,它没有变化。如图:  所以这里有一个有趣...

2018-11-25 10:14:11 744

翻译 4.线性和卷积——边界问题、解决边界方法和Matlab实战_3

目录边界问题解决边界方法裁剪环绕复制边缘反射Matlab实战边界问题进行过滤时出现的一件事是如何处理边界,因为您可能会问当过滤器脱离边缘时会发生什么。当您的过滤器掉落边缘时会发生什么?所以你必须考虑你想要的大小操作,这样就可以这样说明。在这里,我们将使用一些旧的MatLab命名法,他们已经改变了它,因为旧的MatLab命名法实际上已经清楚了。如图:...

2018-11-25 10:14:05 2832 1

翻译 4.线性和卷积——相关与卷积、卷积的属性、计算复杂度和可分性_2

目录相关与卷积卷积的属性计算复杂度和可分性相关与卷积我们遇到过这样的问题,当我们进行相关时,我们得到了这个翻转的东西。我们看以下公式:还有,如果你记得,这是相关方程,我们有这个核H,我们对它求和,从-k到+k,乘以我们的图像,结果就是它导致我们最终得到这个翻转的结果。正确的思考方法是,当一个脉冲进来,它碰到滤波器,它出来的是这样的,这个反向信号。如图:...

2018-11-25 10:13:58 6515

翻译 4.线性和卷积——线性(Linear)、脉冲函数( Impulse Function)_1

目录线性(Linear)脉冲函数和响应过滤一个脉冲信号线性(Linear)欢迎回到计算机视觉。我们将继续讨论更多有关过滤和整理一下有关这方面的基本知识,因此下次我们可以将其应用于更复杂的过滤用途。线性的重要原因将在一分钟内变得清晰。让我们做一些关于“直觉”:一个运算符(亦称算子),我们叫它H,或者一个系统,如果有两个属性,称为线性。(现在,我要展示的是 ...

2018-11-25 10:13:50 9707

翻译 3.过滤——高斯滤波器之Matlab、Octave实战、保持两个高斯直行_5

目录在Matlab使用高斯滤波器在Octave高斯滤波器去除噪音保持两个高斯直行在Matlab使用高斯滤波器本文首先使用Matlab展示示例,我要做的是在Matlab中演示过滤中的代码和效果。基本上,Matlab构建过滤器和应用过滤器是非常常见,甚至琐碎的。Matlab,我们要做的是定义两件事:第一:我们将定义内核的大小;(请记住,这就是我们之前谈论的内容)&...

2018-11-25 09:53:25 1749

翻译 3.过滤——平均滤波器(Averaging Filter)、高斯滤波器(Gaussian Filter)、它的方差或标准偏差_4

目录平均滤波器高斯滤波器高斯滤波器的方差或标准偏差平均滤波器那么问题出现了,是什么让一个好的内核?很显然,这是一个非常成功的主题。我们考虑一个均匀滤波器。我们直接用图显示出来:均值滤波器就是这个1 / 9的盒子滤波器。 当我们移动它时,我们在左侧的这张图片,会创建出了右边这张图片。所以问题就出现了。如果我有这样的图像怎么办,我应用那个盒子过滤器的...

2018-11-25 09:53:19 7761

翻译 3.过滤——相关滤波(Correlation Filtering)_3

目录相关滤波—均匀权重相关滤波—非均匀权重相关滤波—均匀权重因此,上一篇文章所做的数学运算被称为相关或相关滤波。而我们刚刚做的是我们用均匀的权重做到的。具体的公式如下:我们上一篇文章用的就是平均窗口,它的大小是3*3,这里用2k+1 * 2k+1来表示。记住这是奇数,如果k是3,那就是7×7。如图:我们要做的是我们要循环遍历所有的像素在某个位置是行和列。如图...

2018-11-25 09:53:12 988

翻译 3.过滤——比较过滤结果、2D中的移动平均线_2

目录比较过滤结果2D中的移动平均线比较过滤结果我们来谈谈比较过滤结果。我采用了十个随机整数的向量,并将它们绘制成线图,然后我用长度为5的均匀滤波器、非均匀加权滤波器过滤矢量并绘制结果: 你能弄三种不同的颜色的线使用了什么过滤器吗?提示:运用学到的均匀和非均匀的概念来看这道题。我们一起来学习和分析出来:蓝线具有最大的极端,它一定是原始数字的。绿线更平滑...

2018-11-25 09:53:03 420

翻译 3.过滤——简单移动平均线概念(SMA)、SMA的假设、加权移动平均线概念(WMA)_1

目录移动平均线的概念(SMA)SMA的假设噪音能消除吗?加权移动平均线的概念(WMA)移动平均线的概念(SMA)上次我们谈到,在图像函数中添加了一个噪声函数,所以这里我们得到的噪声,定义为sigma缩放的随机事物,我们的输出只是图像加上噪声。>> noise = randn(size(img)) .* sigma;>> output = ...

2018-11-25 09:52:56 3115

翻译 2.图像作为函数 | Sigma对高斯噪声的影响、应用高斯噪声、图像处理注意事项_9

目录Sigma对高斯噪声的影响应用高斯噪声 图像处理需注意的地方好的。 我们说噪音的大小是由sigma决定的。实际上,我们可以只看噪声函数本身,所以不要添加原始图像,只需看看噪声函数。Sigma对高斯噪声的影响噪音是什么意思? 是 0。非常好!这意味着一些值是什么? 有些值是正的,有些值是负的。我们如何看待其中有"+"和"-"的图片?如果我们说0是黑色的...

2018-11-25 09:52:46 8044

翻译 2.图像作为函数 | 生成高斯噪音_8

所以我们知道randn会产生高斯噪声,让我们看看它是如何工作的。>> some_number = randn();>> disp(some_number);运行后,我们得到0.76388。再次运行它。我们得到另一个数字1.3958。您可以将尺寸传递给randn以生成填充有随机数的矢量或矩阵。假设我们想要一个五列1行向量。([1 5])>&...

2018-11-25 09:52:36 586

翻译 2.图像作为函数 | 噪音概念、图像相减_7

目录噪音概念图像差异如果图像只是函数,那么我们可以对图像做一些我们可以对函数做的事情。就像我们可以相加一样,你可以添加两个函数,对吧?那么,我们可以添加两个图像。噪音概念我们将稍微介绍一下噪音的概念。所以图像中的噪音:是另一个函数,与原始图像结合,得到了一个新的函数,我们把它写成新的图像。如图: 我们称I为“素数”。就是I (x, y)加上这个噪声函数。...

2018-11-25 09:52:30 665

翻译 2.图像作为函数 | 标量、函数、混合图像_6

目录标量手写函数混合图片标量在前面的例子中,我们看到了如何通过数字划分图像。>> dolhphin = imread('dolphin.png');>> dolhphin / 2除以2与乘以0.5相同。>> dolphin * 0.5写这两个的顺序也无关紧要。>> 0.5 * dolphin常数0...

2018-11-25 09:52:17 355

翻译 2.图像作为函数 | 裁剪、颜色通道、图像相加_5

目录图像裁剪颜色通道图像相加接着上一篇文章,我们继续学习图像处理方法。图像裁剪让我们使用选择行和列范围的方法从图像中提取更大的部分。这也称为裁剪图像。让我们这次使用不同的图片。让我们看看它的样子。>> img = imread('bicyle.png');>> imshow(img);Ok,那里有经典的两轮车。我们先来检查一下...

2018-11-25 09:52:11 286

翻译 2.图像作为函数 | 图像的量化、大小、类型、位置以及Matlab使用_4

目录Matlab介绍量化练习图像大小和类型检查像素值Matlab介绍对于本系列的任务都是用Matlab或Octave。我们讨论了如何使用Python和OpenCV等。Matlab或Octave的开源版本使其变得简单。在Matlab中,图像和矩阵运行得非常好。来学习第一个Matlab命令:imread>> img = imread('peppers....

2018-11-25 09:51:55 1501

翻译 2.图像作为函数 | 初探数字图像_3

目录图片与数字数字图像图像大小图片与数字到目前为止,我们已经从数学的角度讨论了函数,但是这是一台电脑,在电脑里所有的东西都必须是数字的,这给了我们更多的限制。让我们看一看从菲利斯·迪勒图中提取的一小块网格。你看,实际上我有一些Matlab代码,写的是pd。Pd菲利斯迪勒。这是我的数组。pd(40:60,30:40)这表示行40到60。第30至40列。...

2018-11-25 09:51:21 315

翻译 2.图像作为函数 | 如何把图像看作函数_2

目录黑白与彩色图像黑白图像如何作为函数来看彩色图像如何作为函数来看本文章先从黑白图像开始,因为黑色和白色只是让一切变得更容易,它只是一个通道。黑白与彩色图像所以当我给你们看以下图片的时候,你们实际上会把它想象成一幅图片或者是一些可以看的东西。但这究竟是什么呢?是一种函数。实际上,我们可以称这个图片它为  的函数,好的,与图像强度有关。所以,如果我把它当做一个...

2018-11-25 09:51:13 1045

翻译 1.图像作为函数 | 机器视觉介绍_1

目录前言 CV and CP的区别开始机器视觉之旅什么是机器视觉?为什么学习机器视觉?OCR和人脸识别目标识别特效和3D建模智能汽车体育游戏安全性和医学成像为什么这么难?机器视觉不是图像处理机器视觉工具和环境前言机器视觉,它涵盖如何从图像中提取内容和分析图像的基本方面。也就是说,我们如何构建可以看到并能解读图像的计算机或者机器...

2018-11-25 09:50:52 662 1

翻译 提出建议Do you want to..._44

提出建议今天我们将学习用来表达提出建议的一些句子。在第43文章我们已学习如何使用“do you want...?”(你要....?)"would you like...?"(你想要...?)来提议。它们同样也可以用来提出建议。来看两个例子:Do you want to watch TV?(你要看电视吗?)Would you like to watch TV?(你想...

2018-11-25 09:30:13 4880

翻译 C ++基础 | 从 理解C++程序结构 到 编写程序_1

目录程序结构第一个 C++ 程序善用注释g++ 编译使用命名空间写入控制台程序结构每个 C ++ 程序由两部分组成,预处理器指令(Preprocessor) 和 主函数(main())。如图:让我们看一个简短的程序并分析它的不同部分。这是一个你们大多数人可能都见过的程序,一个相似类型的程序,不管你熟悉哪种语言。这是能够打印出“Hello world”的小程序...

2018-11-23 20:58:54 291

《数据结构:C++》

出版:2007-3-1,豆瓣:7.1分,书名:《数据结构:C++》[中]严蔚敏 吴伟民。 严蔚敏,清华大学计算机系教授,长期从事数据结构教学和教材建设,和吴伟民合作编著的《数据结构》曾获“第二届普通高等学校优秀教材全国特等奖”和“1996年度国家科学技术进步奖三等奖”。

2018-12-10

《数据结构》

出版:2013-9,豆瓣:9.4分,书名:《数据结构》,作者[中]邓俊辉。 邓俊辉,清华大学计算机系副教授。1993年、1997年分别于清华大学计算机系获工学学士和工学博士学位。主要研究方向为科学计算可视化、计算几何及计算机图形学。长期承担清华大学计算机本科生专业基础课程“数据结构”和研究生基础理论课“计算几何”的教学工作,编著的《数据结构与算法(Java描述)》入选“北京市高等教育精品教材”,参与编著的《数据结构(用面向对象方法与C++语言描述)》入选“国家级高等教育精品教材”,曾获清华大学“青年教师教学优秀奖”、清华大学“教书育人奖”、清华大学“教学成果奖”二等奖、清华大学“教学成果奖”一等奖、中国高校科学技术奖二等奖、宝钢教育基金“宝钢教育奖”。

2018-12-06

《改变未来的九大算法》

出版:2013-6 书名:《改变未来的九大算法》 作者:[美] 约翰.麦考密克。约翰·麦考密克,JohnMacCormick,计算机科学的领头人和导师。 获得牛津大学博士学位,曾经在惠普和微软从事研究工作。现在在迪金森学院担任计算机学科的教授。并且是多项专利的所有者。

2018-12-06

空空如也

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

TA关注的人

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