自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 收藏
  • 关注

原创 dataframe 修改列名

1,利用columns=[]全部重命名,新列名与旧列名长度需一致col=['new1','new2',....'newn']df.columns=col2,利用columns={}对部分列名进行重命名df.rename(columns={'oldname1':'newname1','oldname2':'newname2'},inplace=True)3,利用str.replace重命名部分列名df.columns=df.columns.str.replace('oldname':'newn

2021-12-29 10:38:56 17997 4

原创 ocr-test

# 导入工具包import numpy as npimport argparseimport cv2# 设置参数ap = argparse.ArgumentParser()ap.add_argument("-i", "--image", required = True, help = "Path to the image to be scanned")args = vars(ap.parse_args())def order_points(pts): # 一共4个坐标点 rect

2021-12-28 11:16:16 311

原创 傅里叶变换

https://zhuanlan.zhihu.com/p/19763358

2021-12-20 17:21:05 365

原创 opencv直方图与均衡化

一,直方图cv2.calcHist(images,channels,mask,histSize,ranges)•images: 原图像图像格式为 uint8 或 float32。当传入函数时应 用中括号 [] 括来例如[img]•channels: 同样用中括号括来它会告函数我们统幅图 像的直方图。如果入图像是灰度图它的值就是 [0],如果是彩色图像 的传入的参数可以是 [0][1][2] 它们分别对应着 BGR。•mask: 掩模图像。统整幅图像的直方图就把它为 None。但是如 果你想统图像某一分

2021-12-14 17:55:26 264

原创 知识图谱概述

一,知识图谱是什么?知识图谱本质上是语义网络,由节点(point)、边(edge)和属性(property)组成,在知识图图谱里,每个节点表示现实世界中的‘实体’,每条边表示实体与实体之间的‘关系’。也就是说,知识图谱是把所有不同种类的信息连接在一起而得到的一个关系网络。知识图谱提供了从‘关系’角度去分析问题的能力。知识图谱的概念最早在2012年提出的,当时主要是为了将传统的keyword-base搜索模型向基于语义的搜索升级,以优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可以更好的

2021-12-14 16:26:44 5455

原创 opencv常见算子Sobel,scharr,Laplacian

2021-12-14 16:20:30 4014

原创 opencv边缘、轮廓检测,图像金字塔

一、Canny边缘检测1,步骤•1) 使用高斯滤波器,以平滑图像,滤除噪声。•2) 计算图像中每个像素点的梯度强度和方向。•3) 应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。小的梯度值去掉。•4) 应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。minVal设置的小,边界值保留的多maxVal设置的大,边界值同样保留多•5) 通过抑制孤立的弱边缘最终完成边缘检测。2,高斯滤波器3,计算梯度与方向4,非

2021-12-14 11:52:46 3623

原创 opencv滤波、腐蚀与膨胀

一,图像阈值1,cv2.cvtColor(p1,p2) 是颜色空间转换函数,p1是需要转换的图片,p2是转换成何种格式。cv2.COLOR_BGR2RGB 将BGR格式转换成RGB格式.0cv2.COLOR_BGR2GRAY 将BGR格式转换成灰度图片#图像阈值import cv2 #opencv读取的格式是BGRimport numpy as npimport matplotlib.pyplot as plt#Matplotlib是RGB%matplotlib inline img=cv

2021-12-09 18:06:06 377

原创 opencv边界填充、数值计算及图片融合

1,边界填充cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value)src:需要填充的图像top:图像上面填充边界的长度bottom:图像上下面填充边界的长度left:图像左面填充边界的长度right :图像右面填充边界的长度borderType:边界的类型BORDER_REPLICATE:复制法,即复制最边缘的像素。例如:aaaa|abcdefg|gggggBORDER_REFLECT:反射法,即以最边缘的像素为

2021-12-09 14:26:35 634

原创 opencv图片读取、显示与保存

一,图片基本操作1、读取图片cv2.imread(filepath,flags)读入图片cv2.IMREAD_COLOR:默认参数,读入彩色图片,不包括alpha通道cv2.IMREAD_GRAYSCALE:读入灰色图片cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道2、显示图片cv2.imshow(name,img)第一个参数显示图像的窗口名字,第二个参数是要显示的图像3、保存图片cv2.imwrite(file,img,num)file:要保存的文件名i

2021-12-08 21:09:04 4129

原创 深度学习和神经网络

一、深度学习三要素(data,operation,loss)深度学习就是如何拟合数据的学科,神经网络有足够多的层或单元就可以拟合任何函数data: the source of knowledge(supervision)operation: the space of growth(learning parameters),设计好定义函数空间,在初始化前提下,根据训练数据让函数逐渐接近数据想让他长成的样子loss: the goal of fitting(final outputs),输出目标对齐二

2021-12-07 20:43:20 1516

原创 python类与对象

1,区别类,类别,分门别类,人类,鸟类对象,如int类下包含相似的不同个例,专业术语称为实例或对象python中一切皆对象2,类的创建class Student:#类名有一个或多个单词组成,首字母大写,其他小写pass3,组成类属性实例方法静态方法类方法class Student: place='shanghai' #直接写在类中的变量称为类属性 def __init__(self,name,age):#初始化方法,赋值方法 self.name=nam

2021-12-06 21:18:56 213

原创 python函数补充

函数:执行特定任务已完成特定功能的一段代码原因:提高复用,隐藏实现细节,提高可维护,提高可读性便于调试创建:def 函数名(输入参数):函数体[return XXX]def cale(a,b):#a,b出现在函数定义处,是形式参数 c=a+b return c#函数调用result=cale(10,20) #10,20出现在函数调用处,实际参数的值,简称实参print(result)res=cale(b=20,a=9)#b,a为关键字参数,位置在参数调用处print(r

2021-12-06 21:13:39 281

原创 python字符串str补充

1、驻留机制的几种情况(交互模式)1)字符串长度为0或12)符合标识符的字符串3)字符串只在编译时驻留,而非运行时4)[-5,246]之间的整数数字sys.intern()强制2个字符串指向同一个对象pycharm对字符串进行了优化处理优点:当需要值相同的字符串时,可以直接从字符串池中拿来使用,避免繁琐的创建与销毁,提升效率节约内存,因此拼接字符串和修改字符串时会比较影响性能的缺点:在需要字符串拼接时建议使用join方法,而不是+,因为join先计算出所有字符中的长度,然后再拷贝,只new一

2021-12-06 21:08:57 981

原创 python文件处理

#文件复制,不需要手动复制with open('test.txt','rb') as file: with open('test1.txt','wb') as target_file: target_file.write(file.read())#os模块是操作系统相关的一个模块import osos.system('notepad.exe') #调用Notepados.startfile(r'D:\exe\PotPlayerSetup64.exe') #调用可

2021-12-06 20:58:09 414

原创 python元组Tuple

1,元组与字符串类似,用**()括起来**,并且元组的元素不能被修改,是不可变序列元组设计为不可变序列,多任务环境下,同时操作元组不需要加锁,因此可尽量使用不可变序列元组对象的引用:如果元组中对象本身不可变,则不能引用其他对象如果元组对象是可变对象,则可变对象引用不允许改变,但数据可以改变t=(10,[20,30],9)print(t,type(t),id(t))print(t[1],type(t[1]),id(t[1]))t[1].append(10) #元组中的列表可以添加元素,是可变

2021-11-24 20:55:13 513

原创 python流程控制

计算机的流程机构有三种结构组成:顺序机构:从程序开始到程序结束选择结构:if循环结构:while,for1,顺序结构print('-----程序开始-------')print('1、打开冰箱门')print('2、将大象放进冰箱里')print('3、关闭冰箱门')print('-----程序j结束-------')2,选择结构(if分支)money=1000s=int(input('请输入取款金额:’))if money>=s: print('取款成功')el

2021-11-22 21:45:08 418

原创 python运算符

一、赋值运算符执行顺序:从右到左支持链式赋值:a=b=c=20支持参数赋值:+=,-=,*=,/=,//=,%=支持系列解包赋值:a,b=10,20#交换两个变量的值a,b=10,20print('before:',a,b) #10,20a,b=b,aprint('after:',a,b) #20,10二、比较运算符<,>,<=,>=,!=, 结果是布尔型一个变量由三部分组成(标识,类型,值),==比较的是变量的值,比较对象的标识使用i

2021-11-22 21:30:39 149

原创 python数据类型与转换

一,数据类型1、floatfloat计算会出现小数点后位数不一致的情况(二进制存储)建议使用decimal模块from decimal import Decimalprint(Decimal(1.1)+Decimal(2.2)) #二进制底层问题,不需要深究2、bool类型True=1False=03、字符串(不可变的字符序列)可以用单引号,双引号,三引号’’’ ‘’'或者""" “”"表示单引号和双引号必须在同一行,三引号定义的字符串可以分布在连续的行二、数据类型转换int

2021-11-22 20:56:38 602

原创 dataframe数据处理中新增行

import pandas as pdresult=pd.DataFrame(columns=['id','value1','value2'])a=1b=2c=3result.loc[len(result)]=[a,b,c]

2021-11-22 08:51:59 614

原创 python不同进制与变量

一,进制计算机只识别二进制,0与1,为了识别更多的信息可以加位置,2个位置可以表示4种状态,8个位置表示256状态(256符号)8bit表示8个位置1byte,1024byte=1kb,1024kb=1MB,1024MB=1GB,1024GB=1TB256符号编制成ASCII字符代码表,中文字符GB18030表Unicode几乎包含了全世界所有的字符(中文:UTF-8)不管中文,英文在计算机中均叫做字符不管是八进制,十进制到计算机中都表示为二进制n1=90n2=-12n3=0print(

2021-11-21 20:45:16 148

原创 python常用的转义字符与原字符

print("Hello\nworld") #\+转义功能的首字母 n是newline的首字母,表示换行print("Hello\tworrld")print("helloo\tworld")print("Hello\rworld") #world对hello进行覆盖print("Hello\bworld") #\b表示退一格,将o退没了print("helloworld\helloworld") #续行符print("http:\\\www.baidu.com")print("老师

2021-11-21 15:12:29 480

原创 dataframe中分钟时长转化为秒

###time1,time2为str格式的时间df['secs']=(pd.to_datetime(df['time1'])-pd.to_datetime(df['time2])).dt.total_seconds()或者df['secs']=(pd.to_datetime(df['time1'])-pd.to_datetime(df['time2'])).dt.strftime("%S")

2021-10-20 09:49:30 727

原创 某条微博评论数据爬取

1,微博网页版爬取难度较大,本次爬取手机版评论数据:m.weibo.cn;2,评论网页为动态的,查看方式network----XHR----请求对应的url注:url中的id,mid与微博地址中的后缀一致,评论往下滑,20条之后,会出现新的url,新的url中多了max_id,该参数类似分页参数,在preview的data下面有,该max_id即下一条url中的max_idimport requestsimport jsonimport pprintimport pandas as pd

2021-08-01 21:30:14 2178 5

原创 java之重写与多态

在继承关系中,子类如果定义了一个与父类方法签名完全相同的方法,被称为Override。重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变,即外壳不变,核心重写。重写的好处在于子类可以根据需要,定义特定于自己的行为。Override和Overload不同的是,如果方法签名不同,就是Overload,Overload方法是一个新方法;如果方法签名相同,并且返回值也相同,就是Override。方法名相同,方法参数相同,但方法返回值不同,也是不同的方法。在编译过程中,加上@Over

2021-07-27 14:54:54 240

原创 java之继承

1、含义继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。继承的主要作用在于,在已有基础上继续进行功能的扩充,同时减少重复代码。2、语法1),在Java中,继承用extends关键字来实现,语法:class 子类 extends 父类{};2),子类自动获得了父类的所有字段,严禁定义与父类重名的字段;3),Java只允许一个class继承自一个类,只允许单继承不允许多继承,因此,一个类有且仅有一个父类。只有Object

2021-07-27 09:30:50 220

原创 层次聚类-Hierarchical Clustering

一、概述层次聚类(Hierarchical Clustering)是聚类算法的一种,通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树,距离越小,相似度越高。在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点。创建聚类树有自下而上合并和自上而下分裂两种方法,这两种方法分别称为聚类与分裂。1)、自下向上的聚类方法(凝聚分层聚类)算法思想:将每个点都看成一个簇;将两个最近的簇合并为一个簇;不断重复上述过程,直到达到预期簇或簇之间的距离满足要求为止(指定簇数或样本距离

2021-07-24 11:57:40 13086 4

原创 Java之方法重载

1、含义在一个类中可以定义多个方法。如果有一系列方法,它们的功能都是类似的,只有参数有所不同就可以把这一组方法名做成同名方法。方法重载(method overloading)就是同一个类中的方法名相同,但是各自的参数、参数列表不同。不同的参数列表(又叫参数签名),包括参数的类型、参数的个数、参数的顺序,只要有一个不同就叫做参数列表不同。重载的意义是让一个程序段尽量减少代码和方法的种类。注:仅仅参数变量名称不同是不可以的;跟成员方法一样,构造方法也可以重载;声明为final的方法不能被重载;声明

2021-03-24 19:44:14 841

原创 java之私有属性与方法,构造方法

1,定义方法修饰符 方法返回类型 方法名(方法参数列表) { 若干方法语句; return 方法返回值;}2,private方法示例class PersonTest{ private String name; // 私有属性 public void setName(String name) { //括号里面表示输入的参数类型 this.name=name; //this.name表示定义的name属性(this不可省略),name表示输入的name }

2021-03-19 21:22:02 5690 1

原创 neo4j算法

neo4j为图数据库,其中涉及的也就为图算法,图算法被用来度量图形,节点及关系。在neo4j中,通过call algo.list() 可查看neo4j中的算法列表。Neo4j提供了两个常用的算法库-----apoc和algo。相对于algo,apoc不仅仅提供了一些算法实现,还提供了数据导入等功能,更多地像一个工具包。而在算法实现方面,algo显得更专业、全面。algo的官方地址:https://github.com/neo4j-contrib/neo4j-graph-algorithms官方文档

2021-03-03 23:16:25 2235 1

原创 neo4j常用的数据导入方式

目前常用的数据导入方式对比如下:1、create语句CREATE (:label {property1:value, property2:value, property3:value} )2、load csv导入的文件必须是csv文件,位置可以是本地的,或通过http、https、ftp等url指定位置。neo4j中关于导入文件的设置是dbms.security.allow_csv_import_from_file_urls,默认为true;而导入本地文件的位置通过dbms.directorie

2021-03-03 23:00:44 2720 1

原创 test

from ltp import LTP安装ltp: pip install ltp -i https://pypi.douban.com/simple/学习文档: http://ltp.ai/docs/quickstart.htmldef fenju():# 分句子sents = ltp.sent_split([“他叫汤姆去拿外衣。”, “汤姆生病了。他去了医院。”])print(sents)def fenci():# 可以加载自己的词表ltp.init_dict(path=‘my_voc

2021-03-02 22:55:33 162 1

原创 neo4j常用代码

创造一个节点create (n:Person {name:“小明”, age=12})创建关系create (p:Person {name:“小明”, age:“12”})-[:同学{学校:XXX小学}]->(n:Person {name:“小朋”, age:“13”})删除节点 注意 删除有连接的节点时 必须先删掉关系create (n:Person {name:“XL”, age:15})match (n:Person {name:“XL”}) delete n删除关系m.

2021-03-02 22:50:59 693

原创 windows下neo4j安装

一、JDK安装1、到官网下载安装包下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html2、创建安装目录D:\Program Files\jdk1.8.0_261D:\Program Files\jre1.8.0_2613、双击.exe进行安装按照提示下一步安装即可,注意更改安装目录,第一次更改目录是jdk,第二次是jre,直至安装成功,出现如下提示4、配置环境变量右击“此电脑”中的“

2021-02-28 12:39:16 336 2

原创 知识图谱数据导入代码

from py2neo import Graph, Node, Relationship, NodeMatcherimport pandas as pdfrom pdb import set_tracedef load_data():# 加载数据# data = pd.read_excel(’./santi.xlsx’)# data = pd.read_excel(’./mingchaonaxieshier.xlsx’)data = pd.read_excel(’./test.xlsx’)s

2021-02-19 22:40:00 498

原创 人脸识别系统实现

#1,导入库import cv2import numpy as npimport face_recognition#2,加载图片liu=cv2.imread('liu.jpg')wang=cv2.imread('wang.jpg')#3,BGR转为RGBliu_RGB=liu[:,:,::-1]wang_RGB=wang[:,:,::-1]#4,检测人脸liu_face=face_recognition.face_locations(liu_RGB)wang_face=face_

2020-10-21 00:32:39 1027

原创 DBSCAN密度聚类

基于密度的聚类算法假设聚类结构能够通过样本分布的紧密程度确定,以数据集在空间分布上的稠密程度为依据进行聚类,即只要一个区域中的样本密度大于某个阈值,就把它划入与之相近的簇中。密度聚类从样本密度的角度进行考察样本之间的可连接性,并由可连接样本不断扩展直到获得最终的聚类结果。这类算法可以克服K-means、BIRCH等只适用于凸样本集的情况。常用的密度聚类算法:DBSCAN、MDCA、OPTICS、...

2020-10-05 11:42:03 1029

原创 anaconda中的opencv安装

pip install opencv-python==3.4.1.15pip install opencv-contrib-python==3.4.1.15

2020-10-05 02:00:06 256

原创 java之类与对象

一,面向对象1,面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向过程关注因果关系,关注实现过程,集成显卡的开发思路.优点:对于业务逻辑简单的程序可以达到快速开发;前期投入成本低缺点:很难解决非常复杂的业务逻辑;软件元素间的耦合度高,一环出现问题整个系统都会受影响,软件扩展性差;没有独立概念,无法达到组件复用;2,面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行

2020-09-29 21:15:21 168

原创 java之控制循环语句:while与do while

一,while循环1,语法结构while (布尔表达式){循环体;}2,执行原理先判断布尔表达式,若为true执行循环体;若为false,循环结束;public class Test01 { public static void main(String[] args) { int i=1; while (i<10) { System.out.println(i); i++; } }}二,do while循环1,语法结构do{循环体}while(布尔表达

2020-08-27 09:56:05 229

空空如也

空空如也

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

TA关注的人

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