def

计算机视觉-基于内容的图像检索

断了今生、忘了曾经 提交于 2020-12-16 13:01:31
1、什么是基于内容的图像检索 1、构建基于内容的图像检索系统步骤 (1)定义你的图像描述符: 在这个阶段你需要决定你想描述的图像的哪个方面。 你对图像的颜色感兴趣吗? 图像中物体的形状? 或者你想表征纹理? (2)特征提取和索引您的数据集: 现在您已经定义了图像描述符,您的工作是将此图像描述符应用于数据集中的每个图像,从这些图像提取特征并将特征写入存储(例如,CSV文件,RDBMS ,Redis等),以便稍后可以比较它们的相似性。 此外,您需要考虑是否将使用任何专门的数据结构来促进更快的搜索。 (3)定义您的相似性度量: 我们现在有一个(可能是指数)特征向量的集合。 但你如何比较它们的相似性呢? 常用选项包括欧几里得距离,余弦距离和 距离,但实际选择高度依赖于(1)数据集和(2)您提取的特征类型。 (4)搜索: 最后一步是执行实际搜索。 用户将向系统提交查询图像(例如从上传表单或通过移动应用程序),并且您的工作将(1)从该查询图像中提取特征,然后(2)应用您的相似性函数进行比较该查询的功能已针对已编入索引的功能。 从那里,你只需根据你的相似度函数返回最相关的结果。 2、CBIR和机器学习/图像分类有何不同 (1)机器学习包括使计算机完成诸如预测,分类,识别等智能人工任务的方法。此外,机器学习管理算法,使计算机能够执行这些智能任务 而不需要明确编程 。

网络编程

你离开我真会死。 提交于 2020-12-16 12:55:48
阅读目录 一.楔子 二.客户端/服务端架构 三.网络基础 四.套接字(socket)初使用 五.黏包 六.验证客户端链接的合法性 七.socketserver 回到顶部 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个数据,你要怎么做呢? 这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.py从这个文件中读取内容就可以了。 但是当你的a.py和b.py分别在不同电脑上的时候,你要怎么办呢? 类似的机制有计算机网盘,qq等等。我们可以在我们的电脑上和别人聊天,可以在自己的电脑上向网盘中上传、下载内容。这些都是两个程序在通信。 回到顶部 二.软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构~ 1.C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。

EEMD算法

荒凉一梦 提交于 2020-12-16 10:51:20
EEMD 基本原理 EMD 基本原理 希尔伯特黄变换( Hilbert-Huang Ttansform,HHT )作为 一种信号数据分析方法,由经验模态分解( EMD )和希尔伯特谱 分析( Hilbert Spectrum Analysis,HSA )组成。经验模态分解 是希尔伯特黄变换的重要组成部分,能够很好地处理非线性、 非平稳信号,与小波变换等时频分析方法相比,这种方法有许 多优点。小波变换要求输入的信号是平稳的,否则会产生虚假 的谐波,而且小波基函数的选择对结果也是有影响的,而 EMD 方法则不存在上述问题。由 EMD 分解,将信号中不同尺度(频 率)的波动或趋势项逐级分解而得到一系列包含了原信号不同 时间尺度、局部特征信息的固有模态函数( Intrinsic Mode Function,IMF ,显示出信号数据内在的振荡模式。目前已有 很多学者从不同方面对EMD进行了研究,应用在信号分析、机 械故障诊断、生物医学、气象环境、降雨径流等方面。但 EMD 仍然存在一定的缺陷,即在分解后的各IMF分量中有模态混 叠现象出现。而集合经验模态分解法( EEMD )作为 EMD 的改 进方法,对这一缺陷进行了弥补,能更好地对数据进行分析。 作为 EMD 的改进方法, EEMD 的基本原理与 EMD 相似。 EEMD 的基本思路[ 9]是:在信号中加入高斯白噪声,组成一个 混合序列

爬取猫眼电影TOP100

不问归期 提交于 2020-12-16 08:43:48
本文所讲的爬虫项目实战属于基础、入门级别,使用的是Python3.5实现的。 本项目基本目标:在猫眼电影中把top100的电影名,排名,海报,主演,上映时间,评分等爬取下来 爬虫原理和步骤 爬虫,就是从网页中爬取自己所需要的东西,如文字、图片、视频等,这样我们就需要读取网页,然后获取网页源代码,从源代码中用正则表达式进行匹配,把匹配成功的信息存入相关文档中。这就是爬虫的简单原理。 操作步骤 : 1.确定抓取的数据字段(排名,海报,电影名,主演,上映时间,评分) 2.分析页面html标签结构,找到数据所在位置 3.选择实现方法及数据存储位置(存在在mysql 数据库中) 4.代码写入(requests+re+pymysql) 5.代码调试 确定抓取的页面目标URL:http://maoyan.com/board/4 1.导入库/模块 1 import re 2 import requests 3 import pymysql 4 from requests.exceptions import RequestException # 捕获异常 2.请求头域,在网页中查看headers,复制User-Agent内容 请求一个单页内容拿到HTML,定义函数,构建headers,请求成功则代码为200,否则失败重新写入代码 1 def get_one_page(url): 2 try : 3

干货丨时序数据库流数据聚合引擎教程

落花浮王杯 提交于 2020-12-16 08:30:09
流数据是指随时间持续增长的动态数据。互联网的运营数据和物联网的传感器数据都属于流数据的范畴。流数据的特性决定了它的数据集是动态变化的,传统的面向静态数据表的计算引擎无法胜任流数据领域的分析和计算任务,所以流数据场景需要专门的计算引擎来处理。 DolphinDB提供了灵活的面向流数据的聚合引擎,通过 createStreamAggregator 函数创建流数据聚合引擎,能够持续不断地对已有的流数据做聚合计算,并且将计算结果持续输出到指定数据表中。 1.聚合引擎应用框架 流聚合引擎本身是一个独立的计算引擎,只要向聚合引擎写入数据就可以触发计算,并将计算结果输出到目标表。而在流数据场景下,聚合引擎与流数据订阅功能(subscribeTable)配合,可以方便的将流数据持续的提供给聚合引擎。示例如下: tradesAggregator = createStreamAggregator(5, 5, <[sum(qty)]>, trades, outputTable, `time) subscribeTable(, "trades", "tradesAggregator", 0, append!{tradesAggregator}, true) 通过 subscribeTable 函数订阅流数据表,每次有新数据进入就会按指定规则触发append!{tradesAggregators}

Django之博客系统邮件分享博客

旧时模样 提交于 2020-12-15 08:45:07
在上一章中,我们创建了一个基础的博客应用,我们能在http://127.0.0.1:8000/blog/显示我们的博客。在这一章我们将尝试给博客系统添加一些高级的特性,比如通过email来分享帖子,添加评论,给帖子打上tag. 通过email分享帖子: 要通过email来分享帖子,需要我们创建一个表单来填写姓名,email,收件人。因此第一步就是通过django来创建表单。首先在blog应用的目录下创建一个forms.py文件。输入以下代码: from django import forms class EmailPostForm(forms.Form): name=forms.CharField(max_length=25) email=forms.EmailField() to=forms.EmailField() comments=forms.CharField(required=False,widget=forms.Textarea) 通过这个集成Form类的表单。我们就可以对页面上提交的数据进行验证。当表单提交从成功后必须创建一个新的视图来操作表单和发送email。编辑views.py文件,添加如下代码: from .forms import EmailPostForm def post_share(request,post_id): post=get_object_or

python改变文件的编码格式

你离开我真会死。 提交于 2020-12-15 08:36:58
1 def change_file_code(coding,files_name): 2 try : 3 cache_data = linecache.getlines(files_name) 4 with open(files_name, ' wb ' ) as out_file: 5 for line in range(len(cache_data)): 6 out_file.write(cache_data[line].encode(coding)) 7 except Exception as e: 8 print (str(e)) 由于文件涉及到windows的 CRLF 以及unix的LF问题,使用rb+会导致修改过的文件存在数据换行错误问题,使用wb则不会出现这样情况。具体原因待考证。 注:不建议使用此处的linecache 。使用linecache须在文件头注明文件编码格式:coding = utf-8 来源: oschina 链接: https://my.oschina.net/u/4413559/blog/3510596

python 连接 SAP HANA 数据库

流过昼夜 提交于 2020-12-15 08:14:35
SAP HANA 是SAP 新的内存数据库: 目前学习python数据处理分析,现在想要连接 SAP HANA 数据库, 发现目前python已经发布了连接 SAP HANA的库 pyhddb 介绍详见 https://pypi.python.org/pypi/pyhdb/0.2.3 1、需要安装pyhdb pip install pyhdb 2.获取 Connection 对象 import pyhdb def get_connection(): conn_obj = pyhdb.connect( host="10.33.67.12", port=30015, #多租户的端口需要准确的如30053, user="***", password="***" ) return conn_obj 3查询数据 def get_employees(conn,A): cursor = conn.cursor() #cursor.execute("select * from XMZX.ZTEST_HANA where ID='a' ") #python官方例子的SQl模式,去掉字段和表的双引号 cursor.execute("select * from XMZX.ZTEST_HANA where ID='%s' "%(A))# 传递参数到 #cursor.execute('select "ID"

Python学习第十八篇——低耦合函数设计思想

不问归期 提交于 2020-12-15 04:58:07
1 import json 2 2 def greet_user(filename): 3 3 try : 4 4 with open(filename) as f_obj: 5 5 username = json.load(f_obj) 6 6 except FileNotFoundError: 7 7 username = input( " what is your name? " ) 8 8 with open(filename, ' w ' ) as f_obj: 9 9 json.dump(username,f_obj) 10 10 print ( " we'll remember you when you come back, " +username+ " ! " ) 11 11 else : 12 12 print ( " hello, " +username+ " .; " ) 13 13 14 14 greet_user( " username.json " ) 这段代码1描述了这样一个功能,打开“username.json”文件夹,该文件夹中存储了用户姓名,如果不存在该文件夹,可以创建该文件夹,并且这里创建了一个函数来描述这件事情: 该代码段实际上完成了两个功能:1 读取"username.json"文件夹。2 创建“username.json”文件。 实际上

还敢乱写代码??腾讯 Code Review 规范出炉!

人盡茶涼 提交于 2020-12-14 22:12:20
前言 作为公司代码委员会 golang 分会的理事,我 review 了很多代码,看了很多别人的 review 评论。发现不少同学 code review 与写出好代码的水平有待提高。在这里,想分享一下我的一些理念和思路。 为什么技术人员包括 leader 都要做 code review 谚语曰: 'Talk Is Cheap, Show Me The Code'。知易行难,知行合一难。嘴里要讲出来总是轻松,把别人讲过的话记住,组织一下语言,再讲出来,很容易。绝知此事要躬行。设计理念你可能道听途说了一些,以为自己掌握了,但是你会做么?有能力去思考、改进自己当前的实践方式和实践中的代码细节么?不客气地说,很多人仅仅是知道并且认同了某个设计理念,进而产生了一种虚假的安心感---自己的技术并不差。但是,他根本没有去实践这些设计理念,甚至根本实践不了这些设计理念,从结果来说,他懂不懂这些道理/理念,有什么差别?变成了自欺欺人。 代码,是设计理念落地的地方,是技术的呈现和根本。同学们可以在 review 过程中做到落地沟通,不再是空对空的讨论,可以在实际问题中产生思考的碰撞,互相学习,大家都掌握团队里积累出来最好的实践方式!当然,如果 leader 没时间写代码,仅仅是 review 代码,指出其他同学某些实践方式不好,要给出好的实践的意见,即使没亲手写代码,也是对最佳实践要有很多思考。