![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
alot物联网工程师
文章平均质量分 75
samll-guo
这个作者很懒,什么都没留下…
展开
-
十.OpenCv 特征点检测和匹配
特征点检测和匹配1. 特征检测的基本概念特征检测是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。特征检测包括边缘检测, 角检测, 区域检测和脊检测.特征检测应用场景:图像搜索, 比如以图搜图拼图游戏图像拼接…以拼图游戏为例来说明特征检测的应用流程.寻找特征特征是唯一的特征是可追踪的特征是能比较..原创 2022-02-14 10:50:48 · 4304 阅读 · 0 评论 -
九.OpenCv 车辆统计项目
车辆统计项目效果图:涉及到的内容窗口的展示图像/视频的加载基本图像的绘制车辆识别基本图像运算与处理形态学轮廓查找整体流程加载视频通过形态学识别车辆对车辆进行统计显示车辆统计信息知识补充背景减除背景减除(Background Subtraction)是许多基于计算机视觉的任务中的主要预处理步骤。如果我们有完整的静止的背景帧,那么我们可以通过帧差法来计算像素差从而获取到前景对象。但是在大多数情况下,我们可能没有这样的图像,所以我们需要从我们拥有的任何图像中提取背原创 2022-02-14 10:13:49 · 1004 阅读 · 5 评论 -
八.OpenCv图像金字塔和图像直方图
8.图像金字塔8.1 图像金字塔介绍图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说, 图像金字塔是同一图像不同分辨率的子图集合.图像金字塔最初用于机器视觉和图像压缩,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨原创 2022-02-08 16:19:04 · 2529 阅读 · 0 评论 -
七.OpenCv图像轮廓
7. 图像轮廓7.1 什么是图像轮廓图像轮廓是具有相同颜色或灰度的连续点的曲线. 轮廓在形状分析和物体的检测和识别中很有用。轮廓的作用:用于图形分析物体的识别和检测注意点:为了检测的准确性,需要先对图像进行二值化或Canny操作。画轮廓时会修改输入的图像, 如果之后想继续使用原始图像,应该将原始图像储存到其他变量中。7.2 查找轮廓findContours(image, mode, method[, contours[, hierarchy[, offset]]])mo原创 2022-02-05 11:22:22 · 3652 阅读 · 0 评论 -
六.OpenCv之形态学
6. 形态学6.1 形态学概述什么是形态学指一系列处理图像形状特征的图像处理技术形态学的基本思想是利用一种特殊的结构元(本质上就是卷积核)来测量或提取输入图像中相应的形状或特征,以便进一步进行图像分析和目标识别。这些处理方法基本是对二进制图像进行处理, 即黑白图像卷积核决定着图像处理后的效果形态学常用基本操作有:膨胀和腐蚀开运算闭运算顶帽黑帽6.2 图像全局二值化二值化: 将图像的每个像素变成两种值, 比如0, 255.threshold(src, t原创 2022-02-04 15:30:08 · 4625 阅读 · 1 评论 -
五.OpenCv滤波器(1)
5. 滤波器5.1 卷积5.1.1 什么是图片卷积图像卷积就是卷积核在图像上按行滑动遍历像素时不断的相乘求和的过程5.1.2 步长**步长就是卷积核在图像上移动的步幅.**上面例子中卷积核每次移动一个像素步长的结果, 如果将这个步长修改为2, 结果会如何?为了充分扫描图片, 步长一般设为1.5.1.3 padding从上面例子中我们发现, 卷积之后图片的长宽会变小. 如果要保持图片大小不变, 我们需要在图片周围填充0. padding指的就是填充的0的圈数.[外链图片转存失败,源站可能原创 2022-01-29 17:55:40 · 6351 阅读 · 0 评论 -
四.OpenCv图像的基本变换
4. 图像的基本变换4.1 图像的放大与缩小resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])src: 要缩放的图片dsize: 缩放之后的图片大小, 元组和列表表示均可.dst: 可选参数, 缩放之后的输出图片fx, fy: x轴和y轴的缩放比, 即宽度和高度的缩放比.interpolation: 插值算法, 主要有以下几种:INTER_NEAREST, 邻近插值, 速度快, 效果差.INTER_LINEAR, 双线性插值原创 2022-01-26 15:51:50 · 1692 阅读 · 0 评论 -
三.OpenCv图像的算术与位运算
3.图像的算术与位运算3.1 图像的算术运算3.1.1 图像的加法运算add opencv使用add来执行图像的加法运算图片就是矩阵, 图片的加法运算就是矩阵的加法运算, 这就要求加法运算的两张图shape必须是相同的.# 图片加法import cv2cat = cv2.imread('./cat.jpeg')dog = cv2.imread('./dog.jpeg')# 加法要求两个图片大小一致print(cat.shape)print(dog.shape)# 把猫的图片原创 2022-01-26 11:36:06 · 2817 阅读 · 0 评论 -
二.OpenCV基础知识和绘制图形
2. OpenCV基础知识和绘制图形###2.1 OpenCV的色彩空间2.1.1 RGB和BGR最常见的色彩空间就是RGB, 人眼也是基于RGB的色彩空间去分辨 颜色的.OpenCV默认使用的是BGR. BGR和RGB色彩空间的区别在于图片在色彩通道上的排列顺序不同.显示图片的时候需要注意适配图片的色彩空间和显示环境的色彩空间.比如传入的图片是BGR色彩空间, 显示环境是RBG空间, 就会出现颜色混乱的情况.2.1. 2 HSV, HSL和YUV2.1.2.1 HSVOpenCV用的原创 2022-01-20 11:32:13 · 2589 阅读 · 3 评论 -
条件随机场CRF(42)
原创 2022-01-18 20:56:28 · 255 阅读 · 0 评论 -
隐马尔可夫模型HMM(41)
原创 2022-01-18 20:47:38 · 1077 阅读 · 0 评论 -
一.OpenCv图像&视频加载和显示
process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2FtbGwtZ3Vv,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)图片&视频的加载和显示1. 机器视觉介绍现在说的机器视觉(Machine Vision)一般指计算机视觉(Computer Vision), 简单来说就是研究如何使机器看懂东西.就是是指用摄影机和电脑代替人眼对目标进行识别、跟...原创 2022-01-18 20:19:45 · 2157 阅读 · 0 评论 -
朴素贝叶斯(40)
原创 2022-01-11 14:23:22 · 67 阅读 · 0 评论 -
Kaggle实战之信用卡盗刷预测(38)
原创 2022-01-09 19:21:14 · 509 阅读 · 0 评论 -
Kaggle实战(一)生死还难预测37
Kaggle实战(泰坦尼克号海难生死预测)1、背景介绍泰坦尼克号于1909年3月31日在爱尔兰动工建造,1911年5月31日下水,次年4月2日完工试航。她是当时世界上体积最庞大、内部设施最豪华的客运轮船,有“永不沉没”的美誉。然而讽刺的是,泰坦尼克号首航便遭遇厄运:1912年4月10日她从英国南安普顿出发,途径法国瑟堡和爱尔兰昆士敦,驶向美国纽约。在14日晚23时40分左右,泰坦尼克号与一座冰山相撞,导致船体裂缝进水。次日凌晨2时20分左右,泰坦尼克号断为两截后沉入大西洋,其搭载的2224名船员及乘客,原创 2021-12-27 16:28:13 · 937 阅读 · 1 评论 -
gboost算法 36 (三) XGBoost VS GBDT
文章目录算法介绍算法差异算法介绍XGBoost是陈天奇等人开发的一个开源机器学习项目,高效地实现了GBDT算法并进行了算法和工程上的许多改进,被广泛应用在Kaggle竞赛及其他许多机器学习竞赛中并取得了不错的成绩。说到XGBoost,不得不提GBDT(Gradient Boosting Decision Tree)。因为XGBoost本质上还是一个GBDT,但是力争把速度和效率发挥到极致,所以叫X (Extreme) GBoosted。两者都是boosting方法。算法差异其一:传统GBD原创 2021-12-25 14:01:01 · 510 阅读 · 0 评论 -
Xgboost算法 36 (二) Xgboost分类树参数详解
模型参数n_estimatores: 总共迭代的次数,即决策树的个数early_stopping_rounds: 在验证集上,当连续n次迭代,分数没有提高后,提前终止训练。防止overfitting。max_depth: 树的深度,默认值为6,典型值3-10。值越大,越容易过拟合;值越小,越容易欠拟合。min_child_weight: 默认值为1,。值越大,越容易欠拟合;值越小,越容易过拟合(值较大时,避免模型学习到局部的特殊样本)。subsample:...原创 2021-12-25 13:59:07 · 1579 阅读 · 0 评论 -
Xgboost算法 36
1、Xgboost介绍1.1、Xgboost概述XGBoost是陈天奇等人开发的一个开源机器学习项目,高效地实现了GBDT算法并进行了算法和工程上的许多改进,被广泛应用在Kaggle竞赛及其他许多机器学习竞赛中并取得了不错的成绩。1.2、青出于蓝说到XGBoost,不得不提GBDT(Gradient Boosting Decision Tree)。因为XGBoost本质上还是一个GBDT,但是力争把速度和效率发挥到极致,所以叫X (Extreme) GBoosted。两者都是boosting方法。原创 2021-12-25 12:05:53 · 887 阅读 · 0 评论 -
Adaboost多分类与回归35
1、Adaboost多分类算例1.1、导包import numpy as npfrom sklearn.ensemble import AdaBoostClassifierfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn import treeimport graphviz1.2、加载数据X,y = datasets.load_iris(return_X原创 2021-12-25 12:04:35 · 1487 阅读 · 0 评论 -
Adaboost梯度提升树34
1、Adaboost算法介绍1.1、算法引出AI 39年(公元1995年),扁鹊成立了一家专治某疑难杂症的医院,经过半年的精心筹备,硬件设施已全部到位,只缺经验丰富的医生前来坐诊。找几个猎头打听了一下,乖乖,请一个资深专家(总监头衔的),一年的工资就得256万。这恐怕还不够去知名搜索引擎投放广告!穷则思变,扁鹊院长想来想去,找到了两个天才的顾问,名叫Freund和Schapire,想请他们出出主意,怎样用较低的成本解决医生的问题。这两位老兄想到了同一个点子:三个臭皮匠,赛过诸葛亮我们玩人海战术!不原创 2021-12-25 12:01:46 · 500 阅读 · 0 评论 -
决策回归树与集成算法31
1、决策回归树原理概述与分类树一样裂分指标,使用的是MSE、MAEMSE(y,y^)=1nsamples∑i=0nsamples−1(yi−y^i)2\text{MSE}(y, \hat{y}) = \frac{1}{n_\text{samples}} \sum\limits_{i=0}^{n_\text{samples} - 1} (y_i - \hat{y}_i)^2MSE(y,y^)=nsamples1i=0∑nsamples−1(yi−y^i)2MAE(y,y^)=原创 2021-12-25 11:54:40 · 238 阅读 · 0 评论 -
梯度提升分类树GBDT 32
1、交叉熵1.1、信息熵构建好一颗树,数据变的有顺序了(构建前,一堆数据,杂乱无章;构建一颗,整整齐齐,顺序),用什么度量衡表示,数据是否有顺序:信息熵物理学,热力学第二定律(熵),描述的是封闭系统的混乱程度[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0G5an9vU-1640404288610)(./images/6-entropy.gif)]信息熵,和物理学中熵类似的H(x)=−∑i=1np(x)log2p(x)H(x) = -\sum\l原创 2021-12-25 11:52:53 · 361 阅读 · 0 评论 -
决策回归树回归算法30
1、决策回归树原理概述与分类树一样裂分指标,使用的是MSE、MAEMSE(y,y^)=1nsamples∑i=0nsamples−1(yi−y^i)2\text{MSE}(y, \hat{y}) = \frac{1}{n_\text{samples}} \sum\limits_{i=0}^{n_\text{samples} - 1} (y_i - \hat{y}_i)^2MSE(y,y^)=nsamples1i=0∑nsamples−1(yi−y^i)2MAE(y,y^)=原创 2021-12-11 15:09:46 · 4576 阅读 · 0 评论 -
决策树分类算法进阶(一)28
1、决策树概述决策树是属于有监督机器学习的一种,起源非常早,符合直觉并且非常直观,模仿人类做决策的过程,早期人工智能模型中有很多应用,现在更多的是使用基于决策树的一些集成学习的算法。这一章我们把决策树算法理解透彻了,非常有利于后面去学习集成学习。1.1、示例一我们有如下数据:ID拥有房产(是/否)婚姻[单身,已婚,离婚]年收入(单位:千元)无法偿还债务(是/否)1是单身125否2否已婚100否3否单身70否4是已婚120否原创 2021-12-11 14:53:02 · 703 阅读 · 1 评论 -
决策树分类原理(二)27
import numpy as npfrom sklearn import treeimport pandas as pd 加载数据y=np.array(list('NYYYYYNYYN'))print(y)X=pd.DataFrame({'日志密度':list('sslmlmmlms'), '好友密度':list('slmmmlsmss'), '真实头像':list('NYYYYNYYYY')})X输出:['.原创 2021-12-01 15:37:10 · 1331 阅读 · 0 评论 -
决策树分类原理(一)26
1、决策树概述决策树是属于有监督机器学习的一种,起源非常早,符合直觉并且非常直观,模仿人类做决策的过程,早期人工智能模型中有很多应用,现在更多的是使用基于决策树的一些集成学习的算法。这一章我们把决策树算法理解透彻了,非常有利于后面去学习集成学习。1.1、示例一我们有如下数据:ID拥有房产(是/否)婚姻[单身,已婚,离婚]年收入(单位:千元)无法偿还债务(是/否)1是单身125否2否已婚100否3否单身70否4是已婚120否原创 2021-11-30 19:52:16 · 592 阅读 · 0 评论 -
EM算法与GMM高斯混合模型 24
EM算法与GMM高斯混合模型1、EM算法简介1.1、EM算法概述最大期望算法(Expectation-maximization algorithm,又译为期望最大化算法),曾入选“数据挖掘十大算法”中,可见EM算法在机器学习、数据挖掘中的影响力。EM算法是最常见的隐变量估计方法,在机器学习中有极为广泛的用途,例如常被用来学习高斯混合模型(Gaussian mixture model,简称GMM)的参数。EM算法是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性原创 2021-11-30 13:28:38 · 776 阅读 · 0 评论 -
降维系列算法进阶(二)23
1协方差和散度矩阵import numpy as npX=np.random.randint(0,100,size=(5,5))X输出:array([[36, 38, 69, 12, 58], [ 3, 92, 83, 14, 39], [76, 78, 11, 95, 71], [ 2, 93, 85, 35, 74], [35, 36, 98, 31, 16]])1.1协方差np.cov(X,rowvar=False...原创 2021-11-30 10:50:27 · 813 阅读 · 0 评论 -
降维系列算法进阶(一)22
文章目录相关背景数据降维数据降维的方法PCA降维LDA线性判别NMF非负矩阵分解LLE局部线性嵌入降维算法相关背景在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析研究寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标会损失很多有用的信息,从而产生错误的原创 2021-11-29 08:24:46 · 741 阅读 · 0 评论 -
降维算法高级(二)21
1相关性import numpy as npimport pandas as pd df = pd.DataFrame(np.random.randint(0,150,size = (50,3)),columns=['python','En','Chinese'])#相关性系数#相关系数范围(-1,1)#-1表示负相关#1表示正相关df.corr()df['Physic']=np.random.randint(-150,0,size=50)df.corr()...原创 2021-11-25 16:16:22 · 1401 阅读 · 0 评论 -
降维算法高级(一)20
文章目录相关背景数据降维数据降维的方法PCA降维LDA线性判别NMF非负矩阵分解LLE局部线性嵌入降维算法相关背景在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析研究寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标会损失很多有用的信息,从而产生错误的原创 2021-11-25 14:00:31 · 3575 阅读 · 3 评论 -
聚类系列算法进阶(二)19
import numpy as npimport matplotlib.pyplot as pltfrom sklearn.cluster import KMeans,DBSCAN#导入两个聚类计算方法from sklearn import datasets1创建数据X,y=datasets.make_circles(n_samples=1000,noise=0.05,factor=0.5)#创建环形数据,参数n_samples表示数量,noise表示数量,factor为两个圆圈的比...原创 2021-11-24 15:04:33 · 1123 阅读 · 0 评论 -
聚类系列算法进阶(一)18
聚类算法1、聚类介绍1.1、聚类作用知识发现 发现事物之间的潜在关系异常值检测特征提取 数据压缩的例子1.2、有监督与无监督学习有监督:给定训练集 X 和 标签Y选择模型学习(目标函数的最优化)生成模型(本质上是一组参数、方程)根据生成的一组参数进行预测分类等任务无监督:拿到的数据只有X ,没有标签,只能根据X的相似程度做一些事情。Clustering 聚类对于大量未标注的数据集,按照内在相似性来分为多个类别(簇) 目标:类别内相似度原创 2021-11-23 14:29:54 · 2323 阅读 · 1 评论 -
聚类系列算法高级(一)16
聚类算法1、聚类介绍1.1、聚类作用知识发现 发现事物之间的潜在关系异常值检测特征提取 数据压缩的例子1.2、有监督与无监督学习有监督:给定训练集 X 和 标签Y选择模型学习(目标函数的最优化)生成模型(本质上是一组参数、方程)根据生成的一组参数进行预测分类等任务无监督:拿到的数据只有X ,没有标签,只能根据X的相似程度做一些事情。Clustering 聚类对于大量未标注的数据集,按照内在相似性来分为多个类别(簇) 目标:类别内相似度原创 2021-11-23 10:50:16 · 917 阅读 · 1 评论 -
SVM支持向量原理与实战(二)15
导包import numpy as np from sklearn.svm import SVCimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitfrom sklearn.decomposition import PCAfrom sklearn.metrics import accuracy_scorefrom sklearn.linear_model import Logi原创 2021-11-22 11:10:08 · 391 阅读 · 0 评论 -
SVM支持向量原理与实战(一)14
支持向量机原理可视化导包import numpy as npfrom sklearn.svm import SVC,SVRimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D#绘制3D图形from mpl_toolkits.mplot3d import Axes3D创建数据rs=np.random.RandomState(256)#种子,生成随机数字,固定了X=rs.randn(300,2)原创 2021-11-19 08:36:03 · 309 阅读 · 0 评论 -
SVM支持向量机(二)13
1导包import numpy as npfrom sklearn import datasetsfrom sklearn.svm import SVCfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_scoreimport matplotlib.pyplot as plt2加载数据X,y=datasets.load_wine(return_X_...原创 2021-11-18 21:29:55 · 1811 阅读 · 1 评论 -
SVM支持向量机原理(一)12
import numpy as npimport matplotlib.pyplot as plt from sklearn.svm import SVC#分类算法from sklearn import datasetsimport numpy as npimport matplotlib.pyplot as plt from sklearn.svm import SVC#分类算法from sklearn import datasets2数据分类x,y=datasets.mak...原创 2021-11-15 16:16:56 · 1095 阅读 · 0 评论 -
线性分类逻辑斯蒂回归多分类(11)
1.导包import numpy as np from sklearn.linear_model import LogisticRegression from sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score #评估准确率得分4.0.1加载数据x,y=datasets.load_iris(retu..原创 2021-11-10 20:53:22 · 1317 阅读 · 0 评论 -
线性分类逻辑斯蒂回归二分类(10)
1损失函数立体化呈现导包from sklearn import datasets#导入数据from sklearn.linear_model import LogisticRegressionimport numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D#绘制3dfrom sklearn.preprocessing import scale,StandardScaler#..原创 2021-11-09 10:11:14 · 1603 阅读 · 0 评论