04 2019 档案
摘要:关于K聚类,我曾经在一篇博客中提到过,这里简单的做个回顾。 KMeans的步骤以及其他的聚类算法 K-均值是因为它可以发现k个不同的簇,且每个簇的中心采用簇中所含值的均值计算 其他聚类算法:二分K-均值 讲解一下步骤,其实就是说明一下伪代码 OpenCV中使用cv2.kmeans()对数据进行分类
阅读全文
摘要:一、K近邻 有两个类,红色、蓝色。我将红色点标记为0,蓝色点标记为1。还要创建25个训练数据,把它们分别标记为0或者1。Numpy中随机数产生器可以帮助我们完成这个任务 很有可能你运行的图和我的不一样,因为使用了随机数产生器,每次运行代码都会得到不同的结果。 下面就是KNN算法分类器的初始化,我们要
阅读全文
摘要:一、Harris角点检测 原理: 角点特性:向任何方向移动变换都很大。 Chris_Harris 和 Mike_Stephens 早在 1988 年的文章《A CombinedCorner and Edge Detector》中就已经提出了焦点检测的方法,被称为Harris 角点检测。将窗口向各个方
阅读全文
摘要:任务: 一共要完成两项任务: 1. 在所提供的公路图片上检测出车道线并标记 2. 在所提供的公路视频上检测出车道线并标记 方案: 要检测出当前车道,就是要检测出左右两条车道直线。由于无人车一直保持在当前车道,那么无人车上的相机拍摄视频中,车道线的位置应该基本固定在某一个范围内: 如果我们手动把这部分
阅读全文
摘要:霍夫变换常用来在图像中提取直线和圆等几何形状。如下图: 我们下面来看看如何使用霍夫变换来检测直线。一条直线可以用数学表达式 y = mx + 或者 ρ = xcosθ + y sinθ表示(极坐标) 简单说明一下: ρ 是从原点到直线的垂直距离,θ是直线的垂线与横轴顺时针方向的夹角,如下图所示: 首
阅读全文
摘要:啥叫模板匹配 模板匹配就是在大图中找小图,也就说在一幅图像中寻找另一幅模板图像的位置: OpenCV使用 cv2.matchTemplate() 实现模板匹配。 匹配函数返回的是一幅灰度图,最白的地方表示最大的匹配。使用 cv2.minMaxLoc() 函数可以得到最大匹配值的坐标,以这个点为左上角
阅读全文
摘要:啥叫直方图 直方图简单来说就是图像中每个像素值的个数统计,比如一副灰度图中像素值为0的有多少个,1的有多少个... 在计算直方图之前,先了解几个术语: dims:要计算的通道数,对于灰度图dims=1,普通彩色图dims=3 range:要计算的像素值范围,一般为[0,255] bins:子区段数目
阅读全文
摘要:啥叫轮廓 轮廓是一系列相连的点组成的曲线,代表了物体的基本外形。 轮廓与边缘很相似,但轮廓是连续的,边缘并不全都连续,其实边缘主要是作为图像的特征使用,比如用边缘特征可以区分脸和手,而轮廓主要用来分析物体的形态,比如物体的周长和面积等,可以说边缘包括轮廓。 寻找轮廓的操作一般用于二值化图,所以通常会
阅读全文
摘要:Canny边缘检测方法被誉为边缘检测的最优方法。 cv2.Canny()进行边缘检测,参数2、参数3表示最低和最高阈值。 Canny边缘检测 具体步骤如下: 1. 使用5x5高斯滤波消除噪声: 边缘检测本身属于锐化操作,对噪声比较敏感,所以需要进行平滑处理。高斯滤波的具体内容参考前篇:OpenCV-
阅读全文
摘要:图像梯度 我们知道一阶导数可以用来求极值。把图片想象成连续函数,因为边缘部分的像素值与旁边的像素明显有区别,所以对图片局部求极值,就可以得到整幅图片的边缘信息。不过图片是二维的离散函数,导数就变成了差分,这个查分就变成了图像梯度。 1. 垂直边缘提取 滤波是应用卷积来实现的,卷积的关键就是卷积核。我
阅读全文
摘要:常用的形态学操作:腐蚀、膨胀、开运算和闭运算 一、什么叫形态学操作 形态学操作就是改变物体的形状,比如腐蚀就是"变瘦",膨胀就是"变胖" 形态学操作一般作用于二值化图,来连接相邻的元素或分离成独立的元素。腐蚀和膨胀是针对图片中的白色部分! 白色的像素为255,黑色的像素值为0 二、腐蚀与膨胀 1.
阅读全文
摘要:一、使用OpenCV训练好的级联分类器来识别图像中的人脸 当然还有很多其他的分类器,例如表情识别,鼻子等,具体可在这里下载: OpenCV分类器 效果如图所示: 二、检测摄像头视频中的人脸 原理和在图片中检测出人脸差不多,都是加载训练好的分类器。 效果不错,就不展示图了(不想展示脸。。。。)
阅读全文
摘要:字符串 面试题5:替换空格 面试题20:表示数值的字符串 面试题58:翻转字符串 面试题58(二):左旋转字符串
阅读全文
摘要:面试题5:替换空格 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 面试题20:表示数值的字符串 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5
阅读全文
摘要:面试题11:旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请
阅读全文
摘要:面试题39:数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 解法一: 用于笔试使用快排sort,时间复杂度
阅读全文
摘要:面试题3:数组中重复的数字 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 时间
阅读全文
摘要:一、数组 面试题3 : 找出数组中重复的数字 面试题3(二):不修改数组找出重复的数字 面试题4:二维数组的查找 面试题21:调整数组顺序使奇数位于偶数前面 面试题39:数组中出现次数超过一半的数字 面试题42:连续子数组的最大和 面试题53:数字在排序数组中出现的次数 面试题53(二):0~n-1
阅读全文

浙公网安备 33010602011771号