自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (2)
  • 收藏
  • 关注

原创 OpenCV(六)

图像腐蚀# 图像腐蚀import cv2import numpy as np# 读取原始图像im = cv2.imread("../dataset/data/5.png")cv2.imshow("im", im)# 腐蚀kernel = np.ones((3, 3), np.uint8) # 用于腐蚀计算的核erosion = cv2.erode(im, # 原始图像 kernel, # 腐蚀核 iter

2022-02-26 06:00:00 753

原创 OpenCV(五)

读取、图像、保存图像# 读取图像import cv2im = cv2.imread("../dataset/data/Linus.png", 1)# 1表示3通道彩色,0表示单通道灰度im_gray = cv2.imread("../dataset/data/Linus.png", 0) cv2.imshow("test", im) # 在test窗口中显示图像 cv2.imshow("gray",im_gray)print(type(im))print(type(im_gray))

2022-02-25 06:00:00 580

原创 OpenCV(四)

图像轮廓什么是图像轮廓:边缘检测虽然能够检测出边缘,但边缘是不连续的,检测到的边缘并不是一个整体。图像轮廓是指将边缘连接起来形成的一个整体,用于后续的计算。图像轮廓是图像中非常重要的一个特征信息,通过对图像轮廓的操作,我们能够获取目标图像的大小、位置、方向等信息。图像轮廓操作包括:查找轮廓、绘制轮廓、轮廓拟合等查找和绘制轮廓一个轮廓对应着一系列的点,这些点以某种方式表示图像中的一条曲线,将这些点绘制成不同样式的线条,就是轮廓查找与绘制轮廓拟合在计算轮廓时,可能并不需要实际的轮

2022-02-24 12:00:00 224

原创 openCV(三)

图像梯度处理图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。一般情况下,图像梯度计算的是图像的边缘信息。模板运算模板(滤波器)是一个尺寸为n*n的小图像W(n一般取奇数,称为模板尺寸),每个位置上的值w被称为权重。在进行计算时,将模板的中心和像素P对齐,选取原始图像中和模板相同范围的邻域N的像素值作为输入。模板卷积的计算是将对齐后的对应位置像素相乘,再进行累加作为像素P位置的输出值。模板

2022-02-23 06:30:00 274

原创 openCV(二)

图像腐蚀腐蚀是最基本的形态学操作之一,它能够将图像的边界点消除,使图像沿着边界向内收缩,也可以将小于指定结构体元素的部分去除。腐蚀用来“收缩”或者“细化”二值图像中的前景,借此实现去除噪声、元素分割等功能。图像膨胀图像膨胀(dilate)是指根据原图像的形状,向外进行扩充。如果图像内两个对象的距离较近,那么在膨胀的过程中,两个对象可能会连通在一起。膨胀操作对填补图像分割后图像内所存在的空白相当有帮助。图像开运算开运算进行的操作是先将图像腐蚀,再对腐蚀的结果进行膨胀。开运算可以用于

2022-02-22 12:00:00 112

原创 openCV(一)

图像采样与分辨率• 采样后得到离散图像的尺寸称为图像分辨率。分辨率是数字图像可辨别的最小细节。• 分辨率由宽(width)和高(height)两个参数构成。宽表示水平方向的细节数,高表示垂直方向的细节数。• 例如:一副640*480分辨率的图像,表示这幅图像是由 640*480=307200个点组成。一副1920*1080分辨率的图像,表示这幅图像是由 1920*1080= 2073600个点组成。采样间隔越小,所得图像像素数越多,空间分辨率高,图像质量好,但数据量大。灰度图单通

2022-02-21 22:02:59 2832

原创 TCP三次握手四次挥手

2022-02-10 13:28:40 1303

原创 paddlepaddle操作(一)

三个在重要术语:Fluid:定义程序执行流程Program:对用户来说一个完整的程序Executor:执行器,执行程序张量:张量(Tensor):多维数组或向量,同其它主流深度学习框架一样,PaddlePaddle使用张量来承载数据Layer:表示一个独立的计算逻辑,通常包含一个或多个operator(操作),如layers.relu表示ReLU计算;layers.pool2d表示pool操作。Layer的输入和输出为Variable。Variable:表示一个变量,可以是一个张量..

2022-01-29 23:24:58 2532

原创 CART回归树--决策树

决策树的关键问题这么多特征,使用哪个特征先进行子表划分?CART回归树原始数据集S,此时树的深度depth=0;针对集合S,遍历每一个特征的每一个value,用该value将原数据集S分裂成2个集合:左集合left(<=value的样本)、右集合right(>value的样本),分别计算这2个集合的mse,找到使(left_mse+right_mse))最小的那个value,记录下此时的特征名称和value,这个就是最佳分割特征以及最佳分割值;找到最佳分割特征以及最佳分割valu

2022-01-28 23:20:18 1494

原创 整型变量值互换

程序在执行的过程中,会根据指令的更新内存中的变量数值。而程序的变量可以根据类型来划分。类型决定了变量的取值范围以及怎样的运算能作用在变量上。变量的类型中,有一大类称之为基础的数据类型,在Python语言中,基础数据类型有 bool,char,short , int , long , float , double 等&与 , 有0得0,全1 为1 | 或 , 有1 得1 ,全 0得 0 ^异或 , 相同出0,相异 出1 给定两个整型变量 a , b ,在不适用其他变量的情况下,实现两个

2022-01-23 13:19:57 288

原创 迭代器iterator与生成器generator

迭代器首先来说一下什么是迭代:每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。例如:循环获取容器中的元素。list01 = [34, 4, 5, 46, 57, 87]#for item in list01: # print(item)# 对象可以for的条件是什么?也是for循环的原理# 对象具有__iter__方法# 对象可以获取迭代器# for 原理:# 1. 调用了__iter__()方法,返回迭代器对象iterator = list

2022-01-13 17:53:51 253

原创 python中的相关容器

列表与字符串列表和字符串都是序列,元素之间有先后顺序关系。字符串是不可变的序列,列表是可变的序列。字符串中每个元素只能存储字符,而列表可以存储任意类型。·列表和字符串都是可迭代对象。join函数#运行一下就知道了list_temp = []for item in range(10): list_temp.append(str(item))str_result = "-".join(list_temp)print(str_result)split函数#运行一下就知道

2022-01-12 17:25:57 298

原创 python私有变量和@property属性

私有变量私有成员:命名使用双下划线开头。·作用:无需向类外提供的成员,可以通过私有化进行屏蔽。·做法:命名使用双下划线开头。·本质:障眼法,实际也可以访问。私有成员的名称被修改为:_类名_成员名,可以通过_dict_属性或dir函数查看。""" 封装 -- 私有成员 障眼法:修改了私有变量名称 本质: __变量名 --> _类名__变量名"""# 1. 私有化实例变量# 2. 提供两个公开的读写方法class Wife:

2022-01-10 16:03:50 518

原创 GIT代码托管工具

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。集中式集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始操作,再把自己的活推送给中央服务器。集中式版本控制系统有一个缺点就是必须联网才能工作,遇到网速慢的话,可能提交就比较慢。像CVS、SVN都属于集中式的控制系统分布式分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,你工作的时候,就不需要联网了,因为版本库就在

2022-01-04 16:19:06 391

原创 CORS - Cross-origin resource sharing - 跨域资源共享

1,什么是CORS​ 允许浏览器向跨源(协议 + 域名 + 端口)服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制2,特点​ 1,浏览器自动完成(在请求头中加入特殊头 或 发送特殊请求)​ 2,服务器需要支持(响应头中需要有特殊头)跨域它分为两种请求:简单请求(Simple requests)预检请求(Preflighted requests)满足以下全部条件的请求为 简单请求​ 1,请求方法如下:​ GET or HEAD

2022-01-03 11:53:32 1137 1

原创 celery-分布式系统

Celery:Celery是一个简单。灵活可靠的,处理大量消息的分布式系统,专注于实时处理的任务队列,同事也支持任务调度celery中的几个对象要知道:broker:消息传输的中间键,生产者一旦有消息发送,将发送至broker(RQ,redis)backend:用于存储消息/任务结果,如果需要跟踪和查询任务状态,则需要添加相关配置worker:也就是消费者,工作者,它需要独立启动的#test.pyfrom celery import Celery#初始化celery,app =

2021-12-29 18:22:04 674 2

原创 (1406, “Data too long for column ‘password‘ at row 1“)

#捕捉了一下这个异常 try: UserProfile.objects.create(username=username, nickname=username, password = p_m.hexdigest(), email=emai

2021-12-28 11:40:07 333

原创 django-发送邮件

django发送邮件:主要可以对django服务进行监察,业务警告,邮件验证,密码找回SMTP的全称是’ Simple Mail Transfer Protocol’,即简单邮件传输协议(25号端口)它是一组用于从源地址到目的地址传输邮件的规范,通过他来控制邮件的中转,属于推送协议还有与之对应的拉取协议:TMAP(端口号是143),POP3(端口号是110),都是用于访问远程服务器上的邮件IMAP(端口号是143),POP3(端口号是110)差别: IMAP具备摘要浏览功能,可预览部分摘要,在下

2021-12-24 18:57:08 899

原创 django-文件上传

文件上传:表单中文件上传但是必须带有enctype=“multipart/form-data”,input表单中要求type=‘file’,必须是post请求取表单里面的数据的时候,就不在是request.post了,变成myfile = request.FILES[’’],中括号就是对应模板的name,myfile.name 获取到文件名myfile.file 文件的字节流数据在settings中设置MEDIA配置相关配置,django把用户上传的文件统称为media资源如下

2021-12-23 20:41:53 447

原创 redis最常用命令

redis配置文件所在路径:  /etc/redis/redis.confmysql的配置文件: /etc/mysql/mysql.conf.d/mysqld.cnf修改redis的配置文件之前先修改下配置文件:到配置文件的目录下执行cp redis.conf redis_bak.conf执行ll命令查看用户权限,修改为redis权限chown redis:redis redis_bak.conf如何开放远程连接:注释掉本地ip地址绑定1、redis.conf第69行:#bind 127.0.

2021-12-22 12:17:24 699

原创 Django中间件

中间件:浏览器像django发起请求的时候,请求先经过url,可以在url之前挂一个中间件,可在到view中也可以挂一个中间件,当django给浏览器返回数据的时候,我们也可以在其过程中挂一个中间件,不光这三个地方可以挂中间件。process_exception(self,request,ecxeption),这个是当视图函数中出错的时候,这个中间件会捕捉当中间件从视图函数出来之后,中间件的执行顺序从下到上进行执行就是谁的中间件后注册,谁就先执行中间件必须继承from django.utils.d

2021-12-21 17:00:00 78

原创 Django缓存

缓存:缓存的场景: - 博客也列表页 - 电商商品详情页 - 场景特点:缓存的的地方,数据变动频率较少django中进行缓存的时候原理:就是将缓存的数据存储在你的数据库中,虽然说存储介质没有换,但是当一次负责查询的结果直接存储到表中,这样的话,下一次请求就不会从数据库中进行整体的数据库进行查找,会直接从那个表中直接拿数据,这样避免进行重复的查询,提升效率#数据库缓存配置 需要手动执行 创建表的命令CACHES = {‘default’:{‘BACKEND’:‘django.core

2021-12-20 17:43:58 955

原创 MySql中函数与存储区别

函数与存储过程的区别:1、函数有且只有一个返回值,而存储过程不能有返回值。2、函数只有输入参数,而存储过程可以有in,out,inout多个类型参数3、存储过程中的语句功能丰富,实现更复杂的业务逻辑,而函数中国通常不会使用inser4、update,delete等语句,这是完成查询的工作,受输入参数并返回一个结果,功能针对性比较强5、存储过程一般是作为一个独立的部分来执行(call调用)。而函数可以作为查询语句的一个部分来调用存储过程的三个类型参数(三类形参):in 当变量在存储过程中改变的时

2021-12-13 18:44:18 1153

原创 Linux 基本操作命令

ctrl + d 退出终端 或者在终端输入exitls -l 列表显示所有文件ls 显示当前文件夹下所有文件名pwd 显示当前位置在哪儿文件下cd / 切换到根文件夹下cd 切换到用户主文件夹下ls -a 显示所有的内容,包括以 . 开头的文件或者文件夹,Linux中,以 . 开头的文件或者文件夹都是隐藏文件或者文件夹mkdir 文件夹1 文件夹2 …-p 如果中间的文件夹不存在,则逐级创建所有的文件夹 mkdir -p a/aa/a.

2021-12-09 09:12:15 54

原创 Jupyter notebook快捷指令

. Jupyter Notebook (此前被称为IPython notebook)是一个交互式笔记本,支持运行40多种编程语言。使用浏览器作为界面,向后台的IPython服务器发送请求,并显示结果。Jupyter Notebook的本质是一个 Web应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和markdown。.lPython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有

2021-12-06 22:04:25 711

原创 No handles with labels found to put in legend.

No handles with labels found to put in legend.import numpy as npimport matplotlib.pyplot as mpx = np.linspace(0,np.pi*2,1000)sinx = np.sin(x)cosx = np.cos(x)/2names= ['0', r'$\frac{\pi}{2}$', r'$\pi$', r'$\frac{\pi}{2}$', r'${2}\pi$']mp.xticks([0,

2021-12-02 09:30:29 134

原创 OpenCV仿射变换

仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变 换能够保持图像的平直性和平行性。平直性是指图像经过仿射变换后,直线仍然是 直线;平行性是指图像在完成仿射变换后,平行线仍然是平行线。#图像的仿射变换import numpy as npimport cv2def translate(img,x,y): """ :param img:原始图像数据 :param x: 平移的x坐标 :param y: 平移的Y坐标 :return: 返回

2021-11-29 20:22:41 1887

原创 利用OpenCV实现图像矫正

# 图像校正示例import cv2import numpy as npim = cv2.imread("../dataset/data/paper.jpg")gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)cv2.imshow('im', im)# 模糊第三个0 ,拿去翻译Gaussian kernel standard deviation in X direction.blurred = cv2.GaussianBlur(gray, (5, 5)

2021-11-28 17:25:53 5546

原创 DP 学习

深度学习的本质是通过构建具有很多隐层的机器学习模型和海量的训练数据,来自动学习隐藏的有勇的特征,从而提升分类或预测的自动化与准确化。“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的特点在于:强调了模型结构的深度,通常有五层,六层,甚至十多层的隐层节点;明确突出了特征自动学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征(硬编码,专家库)的方法相比,利用大数据来自动学习特征,更能够刻画数据的丰富内

2021-11-25 22:49:45 598

原创 IndentationError: unexpected indent

IndentationError: unexpected indent

2021-11-14 21:08:14 353

原创 ML(十)

聚类问题1. 概述聚类分析(cluster analysis ) 是一种常用的无监督学习算法,它试图将一组不带标签的样本(或变量)根据彼此至今的相似度划分成若干个类,使得相似的样本归到一个小的分类单元中,不相似的样本归到一个大的分类单元中,知道所有的样本都分类完毕,由于这些样本并不带标签,因此,对于各个类的含义需要使用者结合业务知识进行解读和定义。聚类分析既能作为一个单独的过程,用来寻找一组不带标签的数据的内在结构和规律,也可以作为其他分类算法的前期工作,例如:我们可以先用聚类算法对一批产品的

2021-10-28 01:00:00 607

原创 ML(九)

一、模型评估与优化1. 模型评估方法1)偏差与方差分析偏差(Bias)指模型预测值与真实值之间的差异,反映了预测结果是否准确,取决于模型学习的程度;方差(Variance)指预测结果在均值附近的偏离幅度,反映了模型预测结果的稳定程度,以及对训练集上数据波动的敏感程度.,这个训练集上数据波动的敏感程度可以这样理解,当大部分的数据样本都是比较集中存在的时候,然后,可能有些个别数据会因为一些细微的因素的影响会导致这个数据产生影响。方差不仅仅表达了样本偏离均值的程度,更是揭示了样本内部彼此波动的程度(偏差

2021-10-24 10:37:55 105

原创 ML(八)

一、朴素贝叶斯贝叶斯定理的概述朴素贝叶斯算法是统计学的一种分类方法,它利用概率统计知识进行分类。朴素贝叶斯以贝叶斯定理为基础,故称为贝叶斯分类,之所以有"朴素"两字,是因为该算法假设特征之间相互独立,而这个假设看上去又有点过头(因为绝大多数实际问题中不太可能存在完全的独立性),因此加上了朴素。朴素贝叶斯是多用途分类器,能在很多不同的情景下找到它的应用,例如垃圾邮件过滤、自然语言处理等.1. 概率1)定义概率是反映随机事件出现的可能性大小. 随机事件是指在相同条件下,可能出现也可能不出现的事件

2021-10-23 11:05:51 65

原创 ML(七)

支持向量机(support vector machine,SVM)SVM是一个有监督学习算法,最常用于二分类任务,对线性分类和非线性分类都支持。主要用于解决数据分类问题,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化(即数据集的边缘点到分界线的距离d最大,如下图),通常SVM用于二元分类问题,对于多元分类可将其分解为多个二元分类问题,再进行分类。所谓“支持向量”,就是下图中虚线穿过的边缘点。支持向量机就对应着能将数据正确划分并且间隔最大的直线(下图中红色直线)。什么才是最优分类

2021-10-22 18:14:10 102

原创 ML(六)

逻辑回归逻辑回归(Logistic Regression)是一种可以用于分类的回归算法,多用于二分类的任务。简单来说,任何需要预测“二选一”事件的可能性都可以用逻辑回归来预测,区别于一般的线性回归,逻辑回归计算每个样本介于(0~1)的概率值,我们可以选择一个阈值,来进行分类。例如一次考试,根据成绩可以分为及格、不及格两个类别逻辑函数逻辑回归是一种广义的线性回归,其原理是利用线性模型根据输入计算输出(线性模型输出值为连续),并在逻辑函数作用下,将连续值转换为两个离散值(0或1),其表达式如下:y=h(

2021-10-22 15:09:55 58

原创 ML(三)

多项式回归1. 多项式模型定义线性回归适用于数据呈线性分布,如果数据样本呈非线性分布,那么之前提到的线性模型就不再适用了。即采用多项式回归为好。2. 多项式模型定义与线性模型相比,多项式模型引入了高次项,自变量的指数大于1,例如一元二次方程:y=w0+w1x+w2x2y = w_0 + w_1x + w_2x^2y=w0​+w1​x+w2​x2一元三次方程:y=w0+w1x+w2x2+w3x3y = w_0 + w_1x + w_2x^2 + w_3x ^ 3y=w0​+w1​x+w

2021-10-21 22:27:21 155

原创 ML(五)

集成学习与随机森林1、集成学习集成学习(ensemble learning)通过构建并合并多个模型来完成学习任务,从而获得比单一学习模型更显著优越的泛化性能,简言之,集成学习就是利用模型的“集体智慧”,提升预测的准确率. 根据单个模型方式,集成学习可以分为两大类:按照模型与模型之间的关系分为两类个体间存在强依赖关系,必须串行生成的序列化方法,其代表为Boosting算法;前个模型的输出作为下个模型的输入,依次循环个体之间不存在强依赖关系,可同时生成的并行化方法,代表是Bagging和随机森林算法

2021-10-20 23:26:04 74

原创 ML(四)

决策树决策树是一种常见的机器学习的方法,其核心思想是相同(或相似)的输入产生相同(或相似)的输出,通过树状结构来进行决策,其目的是通过对样本的不同的属性的判断决策,将有共同属性的样本划分到一个叶子节点下,从而实现分类或回归。在上述示例模型中,通过对西瓜一系列特征(色泽、根蒂、敲声等)的判断,最终我们得出结论:这是否为一个好瓜. 决策过程中提出的每个判定问题都是对某个属性的“测试”,例如“色泽=?”,“根蒂=?”. 每个测试的结果可能得到最终结论,也可能需要进行下一步判断,其考虑问题的范围是在上次决策

2021-10-20 14:12:52 107

原创 ML(二)

线性模型线性模型是最简单的模型之一,它描述了一个(或多个)自变量对另一个因变量的影响是呈简单的比例,线性关系输入(x)输出(y)0.55.00.65.50.86.01.16.81.46.8根据一组输入和输出(这叫做样本),寻找一个线性模型,这个线性模型能最优化的去拟合这些样本的数值分布。线性模型在二维空间内表现为一条直线,再三维空间内表现为一个平面,更高维度下的线性模型是很难用几何图形来表示的(称为超平面),这个主要是有线性模型中的自变量的

2021-10-13 10:36:00 98

原创 ML(一)

人工智能概述:人工智能是计算机科学的一个分支学科,主要研究用计算机模拟人的思考方式和形式,从而在某些领域代替人进行工作。人工智能与传统软件的区别:传统软件,执行人的指令和想法,在执行之前已经有了解决方案,无法超越人的思想和认识范围,人工智能,尝试突破人的思想和认识的范围,让计算机学习到新的能力,尝试解决传统软件的难题机器学习机器学习是一门能够让编程计算机从数据中学习的计算机学科。讲义:一个计算程序在完成一个任务之后,获得经验E,其表现效果为P,任务T的性能得以显现,也就是用以衡量的P,随着E的.

2021-10-12 11:04:51 134

OpenCV测试使用图片

OpenCV测试使用图片

2022-02-22

django-cors-headers-3.0.2.tar.gz

django-cors-headers

2022-01-03

空空如也

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

TA关注的人

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