- 博客(94)
- 资源 (1)
- 收藏
- 关注
转载 odoo系统架构介绍
简介:odoo是一个现代化的商业应用套件,使用AGPL许可证,并具有客户关系管理(CRM),人力资源、销售、采购、会计、仓库管理、项目管理,以及众多社区模块。它是基于一个模块化,可扩展和直观的快速开发应用程序(RAD)的框架,使用Python语言。OpenObject功能对象集成-关系映射(ORM),基于模板的类型-视图-控制器(MVC)接口,报表生成系统,多国语言,快速构建应用程序:是一个完整的模块化的工具。Python是一种解释性、面向对象、动态数据类型的高级程序设计语言,非常适合RAD清晰的语
2021-04-01 14:43:07 8241
原创 黄金矿工-Python
首先做这个项目之前得清楚需要的材料和这个项目的结构,我自己感觉这个柚游戏项目的难顶就在于钩子摆动的问题,它需要利用到三角函数来实现出来,我利用了pygame.transform.rotate()方法来实现钩字摇摆的问题,用sin和cos的方法来计算出钩字旋转的角度,对于目前的自己来说这就是最难的部分!这个项目我一共写了6个部分完成的,接下来就是代码部分!强调文本 强调文本项目管理代码im...
2020-04-10 20:10:41 7234 7
原创 OpenCV机器视觉-识别红绿颜色
识别红绿颜色识别车道线车道线检测使用opencv来完成一个车道线检测的案例完成这样的案例我们需要经历哪些步骤呢 ? 我们先来思考一下解决问题的思路.当前情况下,摄像头拍出了很多的东西,例如路边的杂草远方的山.但是在我们自动驾驶的过程中,我们并不需要这么多东西,所以我们要考虑提取感兴趣的区域.有了感兴趣的区域之后,我们接下来就需要来识别道路.大家可能会想道路可能会有弯道,但是在小范围内,它还是直线,所以我们可以使用前面我们学过的霍夫直线来进行检测。这张摄像头拍摄到的照片这张是我们使用can
2022-05-18 20:22:03 1802
原创 OpenCV机器视觉-形态学变换
形态学变换膨胀与腐蚀形态学变化是基于图像形状的一些简单操作。操作对象一般是二值图像,需要两个输入,一个是我们的原图,另一个是3x3的结构元素(内核),决定了膨胀操作的本质。常见的操作是图像的膨胀和腐蚀。以及他们的进阶操作注入Opening、Closing、Gradient等等。结构元素的形状MORPH_RECT矩形MORPH_ELLIPSE椭圆形MORPH_CROSS十字型...
2022-05-18 20:14:27 1081
原创 OpenCV机器视觉-边缘与轮廓
边缘与轮廓基于图像边缘提取或二值化的基础寻找对象轮廓边缘提取的阈值会最终影响轮廓发现的结果主要API要有以下俩个findContours发现轮廓drawContours绘制轮廓查找轮廓处理的图像,轮廓列表,继承关系 = cv.findContours(图像,轮廓检索模式,检索的方法)# hierarchy[i][3],分别表示第i个轮廓的后一个轮廓、前一个轮廓、父轮廓、内嵌轮廓的索引编号轮廓检索模式RETR_EXTERNAL只检测最外层轮廓RET
2022-05-18 11:18:29 1221
原创 OpenCV机器视觉-霍夫变换
霍夫变换霍夫直线变换霍夫直线变换用来做直线检测霍夫直线变换官网文档绘制经过某点的所有直线的示例代码如下import cv2 as cvimport matplotlib.pyplot as pltimport numpy as npdef draw_line(): # 绘制一张黑图 img = np.zeros((500, 500, 1), np.uint8) # 绘制一个点 cv.line(img, (10, 10), (10, 10), (255)
2022-05-18 09:26:01 792
原创 OpenCV机器视觉-图片卷积
图片卷积图像滤波是尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。线性滤波是图像处理最基本的方法,它允许我们对图像进行处理,产生很多不同的效果。首先,我们需要一个二维的滤波器矩阵(卷积核)和一个要处理的二维图像。然后,对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值。这样就完成了滤波过程。 对图像和滤波矩阵逐个元素相乘再求和的操作就相当
2022-05-18 09:01:57 6628 4
原创 OpenCV机器视觉-图像二值化
图像二值化图像二值化( Image Binarization)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。所使用的阈值,结果图片 = cv.threshold(img,阈值,最大值,类型) THRESH_BINARY高于阈值改为255,低于阈值改为0THRESH_BINARY_INV高于阈值改为0,低于阈值改为255
2022-05-17 20:22:40 1325
转载 OpenCV机器视觉-HSV颜色模型
HSV颜色模型 HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)色调H用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;饱和度S饱和度S表示颜色接近光谱色的程度。一种颜色,
2022-05-17 20:08:54 9947
转载 OpenCV机器视觉-图片操作原理(二)
图像特效## 图像融合图像融合,即按照一定的比例将俩张图片融合在一起。执行这样的融合需要用到opencv提供的如下api:cv.addWeighted(图像1,权重1,图像2,权重2,叠加之后的像素偏移值)注意: 进行叠加的两张图片宽高应该相同 叠加之后的像素偏移值如果填的话不要填太大,超过255会导致图像偏白示例代码:import cv2itheima = cv2.imread("./img/qq.png", cv2.IMREAD_COLOR)cv2.imshow(
2022-05-17 18:07:55 758
转载 OpenCV机器视觉-图片操作原理
图片操作原理之前描述过一张图片,在计算机程序中,其实是用矩阵来进行描述的,如果我们想对这张图片进行操作,其实就是要对矩阵进行运算.
2022-05-05 15:46:38 284
转载 Opencv图像处理基础
图片的几何变换图片剪切图片在程序中表示就是一个矩阵,我们要想操作图片,只需要操作矩阵元素就可以了。图片的剪切案例,其实我们只需要想办法截取出矩阵的一部分即可!在python中,矩阵的截取是很容易的一件事!例如如下代码mat[起始行号:结束行号,开始列号:结束列号]import cv2# 读取图片img = cv2.imread('./timg.jpg', cv2.IMREAD_COLOR)cv2.imshow('pic', img)# 从图片中(230,230)截取一张 宽度为
2022-05-03 21:01:34 276
转载 OpenCV机器视觉(2)
Opencv入门案例读取图片如何使用opencv显示一张图片出来,我们首先需要掌握一条图片读取的apicv.imread("图片路径","读取的方式")# 图片路径: 需要在工程目录中,或者一个文件的绝对路径# 读取方式: 分别有如下三种: cv.IMREAD_COLOR : 以彩图的方式加载,会忽略透明度(默认方式) cv.IMREAD_GRAYSCALE: 以灰色图片方式加载 cv.IMREAD_UNCHANGED: 直接加载,透明度会得到保留 示例代码如下:imp
2022-05-03 16:05:34 228
转载 OpenCV机器视觉(1)
机器视觉概述机器视觉是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD俩种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被设目标的形态信息,根据像素分布和亮度、颜色等信息,转换成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。OpenCV是一个基于BSD许可开源发行的跨平台计算机视觉库,可以运行在Linux、windows、Androi
2022-05-03 15:19:29 661
转载 人工智能,机器学习,强化学习傻傻分不清?
机器学习近十年来人工智能越来越热门了,在我们的日常学习中,我们经常听到一大堆专有名词,像**人工智能**,**机器学习**,**监督学习**,**非监督学习**,**深度学习**,**强化学习**这些,那它们之间存在什么样的关系呢?通过上图,我们可以看到其实都是学习,那么什么是学习?学习的整个过程应该包含输入,处理,输出,反思。比如说,读书,思考,做笔记,应用到实际,再反思。学:输入。习:输出实践。我们所看到的机器学习,其实就是让机器去学习,当然我这里说的是一句废话。简单来说,就是给我们机器
2022-05-02 20:41:50 347
原创 Python3.7 + Yolo3识别 语音播报
一、利用Python调用系统win10的文字转语音首先下载需要用到的库:pip install pyttsx3 -i https://mirrors.aliyun.com/pypi/simple/接下来直接上代码:import win32com.client as win# SpVoice类是支持语音合成(TTS)的核心类。通过SpVoice对象调用TTS引擎,从而实现朗读功能speak = win.Dispatch("SAPI.SpVoice")# 完成将文本信息转换为语音并按照指定的参数
2021-12-24 20:35:45 3817 4
原创 基于Windows下安装TensorFlow-GPU和配置CUDA以及CUDDN
一、电脑是否支持GPU版本查看方法:windows + R在cmd中输入dxdiag可以看到我的显2是NVIDIA生产的GeForce系列的这个时候就可以去NVIDIA官网去下载自己芯片对应的版本我的是GTX 1050 所以找相对应的NVIDIA官网二、安装TensorFlow-gpu首先我的Python版本是Python 3.7的,TensorFlow是可以支持的。安装TensorFlow-gpu命令pip install tensorflow-gpu -i 加速源三、安装
2021-12-24 08:50:34 1704
原创 YOLO3 + Python 基础教程(一):环境搭建与测试
一、所需要的库文件以及Python版本Python 3.7 + 开发环境TensorFlow-gpu 2.6.0OpenCV-Python 4.5.3+win10Microsoft Visual Studio 2019(我反正要下,缺少这个,因为这个弄得我很难受)二、下载YOLO3源代码YOLO3源代码:github_keras-yolo3下载权重文件:官网_yolov3_weights(点击直接下载)三、添加YOLO模型先将刚刚下载好的yolov3.weights 权重放
2021-12-23 21:18:59 5661
原创 YOLO3 -- 介绍
YOLO介绍YOLO官网YOLO(You Only Look Once)是目标检测模型,目标检测是计算机视觉中比较简单的任务,用来在一张图片中找到某些特定的物体,目标检测不仅要求我们识别这些物体的种类,同时要求我们标出这些物体的位置。YOLO是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度很快,可以利用实时系统。现在YOLO已经发展到v5版本,不过最新版本也是在原有的版本上基础不断改进演化的,所以本文分析YOLO v3版本类别是指离散数据,位置是指连续数据。YOLO原理使用
2021-12-23 20:07:38 4699
原创 TensorFlow 和 Keras 神经网络介绍
TensorFlow介绍TensorFlow中文官网TensorFlow最初由Google开发,它最初定义为描述机器学习算法的接口,以及执行该算法的实现。TensorFlow的主要预期目标是简化机器学习解决方案在各种平台上的部署,如计算机CPU、计算机GPU、移动设备以及最近的浏览器中的部署。最重要的是,TensorFlow提供了许多有用的功能来创建机器学习模型并大规模运行他们。TensorFlow它专注于易用性,并能保持良好的性能。TensorFlow既可供初学者使用,也可供专家使用。Tenso
2021-12-23 18:01:42 1170
原创 Vue基础----组件通信
vue组件以及父子组件之间的通信1.如何使用组件1.1 全局组件主要是提高代码重用性,让代码可以重复利用。组件在使用之前需要注册组件,注册组件的方法有俩种。一种是全局注册,一种是局部注册。Vue.component('my-component',{ template:'<div>注册组件</div>'})其中my-component是自定义组件名,可以任意命名,推荐小写减号分割的形式。后面的大括号里内容是组件选项,在组件选项加template可以在页面中显
2021-12-07 15:13:24 290
翻译 Vue基础----计算属性和侦听器
计算属性为什么要使用计算属性?模板上的表达式很便利,但有时候需要用到复杂的运算,写在模板表达式上面会让模板加重且难以维护。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>
2021-12-07 14:52:03 185
转载 Vue基础----组件基础
什么是组件?组件提供了HTML DOM元素的扩展性,可以把一块代码块封装起来,可以方便维护和重复使用组件的分类 :展示型组件负责呈现 UI 为主的类型,我们很单纯地把资料传递进去,然后 DOM 就根据我们传递进去的数据生成出来。这种组件的好处是可以提升 UI 的重复使用。容器型组件负责与数据层的 service 沟通, 包含了与 server 端、数据来源做沟通的逻辑,然后再将数据传递给前面所说的展示型组件。互动型组件负责互动的逻辑,比如 elementUI、bootstra
2021-12-03 15:57:04 113
原创 Vue绑定指令
属性绑定指令基本用法:如果需要为元素的属性动态绑定属性值,则需要用到 v-bind 属性绑定指令。<!-- 假设有如下的 data 数据:data: { inputValue: "请输入内容", imgSrc: "https://cn.vuejs.org/images/logo.png"}--><!-- 使用 v-bind 指令, 为 input 的 placeholder 动态绑定属性值 --><input type="text" v-bind:pl
2021-12-01 08:04:07 567
原创 Vue基本指令使用
指令1. 指令介绍:指令 (Directives) 是写在模板上的特殊属性 可以操作DOM变成想要的样子在Vue中,常见的指令有以下这些: ┌───────► 内容渲染指令 │ ├───────► 条件渲染指令 │ ├───────► 列表渲染指令 │directive ────┼───────► 属性绑定指令
2021-11-29 19:57:04 943 2
原创 Vue的基本使用
一、Vue的基本使用新建一个HTML文件,在head结束标签上面,引入Vue库文件。<!-- 开发环境版本,包含了有帮助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><!-- 生产环境版本,优化了尺寸和速度 --><script src="https://cdn.jsdelivr.net/npm/vue@2"><
2021-11-29 17:16:07 385
原创 Vue介绍
一、Vue介绍1. Vue是什么?Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。 Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。 另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。2.Vue有哪些特点?Vue.js 是一个优秀的前端界面开发 JavaScript 库,它之所以非常火,是因为有众多突出的特点,其中主要的特点有以下几个。门槛低、上手快:简单易学,只要稍微会点
2021-11-29 16:48:53 3527
原创 Node.js 模块化介绍
一、模块化介绍模块化模块化是一种处理复杂系统分解为更好的可管理模块的方式。模块化用来分割,组织和打包软件。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。模块具有以下几种基本属性:接口、功能、逻辑、状态,功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。在系统的结构中,模块是可组合、分解和更换的单元。模块化是一种处理复杂系统分解成为更好的可管理模块的方式。它可以通过在不同组件设定不同的功能,把一个问题分解成多个小的独立、互相作用的组件,
2021-11-29 08:08:20 144
原创 Web服务器介绍以及HTTP基本介绍
一、Web服务器1. 什么是Web服务器?服务器(提供服务)指的是一台安装待定的软件的计算机,用于专门提供特地的服务,按照 服务类型的不同,又划分为:Web服务器、数据库服务器、文件服务器等等。客户端(使用服务)指的是再一次服务过程中使用这个服务的设备(网络端点)。目前咱们最常见的客户端就是浏览器。2. Web 服务器软件分类NginxApache-phpllS - c# .netTomcat - java二、请求响应的流程用户打开浏览器地址栏输入我们需要访问的网站网
2021-11-26 16:16:49 1363
原创 Node.js安装和基础使用
一、安装Node.jsNode.js安装方法二、Node.js功能Node可以作为前端的一个工具去使用,通过NPM安装好用的工具。Node可以开发一些前端的工具。Node可以做服务器。可以操作数据库并对外提供接口。可以实现即时聊天程序。可以制作一些好用的工具,比如编辑器。三、Node.js的镜像配置**配置淘宝镜像**由于每次安装包需要走国外的网络,速度很慢,所以,淘宝帮我们在国内创建了一个NPM包托管网站,能够提升使用NPM装包时候的速度!npm config set r
2021-11-26 08:15:27 275
原创 Node.js介绍
一、什么是前端和后端前端:前端主要和页面打交道,用户看到的基本上就是前端写出来的,比如:浏览器中展示的页面样式,手机上看到的App等…前端主要工作:页面编辑(HTML)、页面渲染(CSS)、调用后台提供的API接口去请求或提交数据(JS)、进行DOM方面操作(Jquery)、单页面应用程序(VUE)等…后端:后端主要工作:主要进行业务逻辑、比如数据的增删改查、操作数据库、对外暴露API接口。前后端协作流程:前端写页面,前端调用后台的接口;后台接受前端发送过来的请求,然后进行相关的业务处理
2021-11-25 15:04:29 101
原创 JavaScript 进阶 - 第4天
JavaScript 进阶 - 第4天了解函数中 this 在不同场景下的默认值,动态指定函数 this 的值,提升代码封装的灵活度。能够区分不同场景下函数中 this 的默认值知道箭头函数的普通函数的区别,掌握箭头函数的使用能够动指定函数中 this 的值了解基于类的面向对象的实现语法一、this了解函数中 this 在不同场景下的默认值,知道动态指定函数 this 值的方法。1.1 默认值this 是 JavaScript 最具“魅惑”的知识点,不同的应用场合 this 的
2021-11-23 15:44:22 287
原创 JavaScript 进阶 - 第3天
JavaScript 进阶 - 第3天了解构造函数原型对象的语法特征,掌握 JavaScript 中面向对象编程的实现方式,基于面向对象编程思想实现 DOM 操作的封装。了解面向对象编程的一般特征掌握基于构造函数原型对象的逻辑封装掌握基于原型对象实现的继承理解什么原型链及其作用能够处理程序异常提升程序执行的健壮性一、面向对象学习 JavaScript 中基于原型的面向对象编程序的`语法实现,理解面向对象编程的特征。面向对象编程是一种程序设计思想,它具有 3 个显著的特征:封装、
2021-11-23 08:12:15 595
原创 JavaScript 进阶 - 第2天
JavaScript 进阶 - 第2天了解面向对象编程的基础概念及构造函数的作用,体会 JavaScript 一切皆对象的语言特征,掌握常见的对象属性和方法的使用。了解面向对象编程中的一般概念能够基于构造函数创建对象理解 JavaScript 中一切皆对象的语言特征理解引用对象类型值存储的的特征掌握包装类型对象常见方法的使用一、面向对象了解面向对象的基础概念,能够利用构造函数创建对象。1.1 构造函数构造函数是专门用于创建对象的函数,如果一个函数使用 new 关键字调用,那么
2021-11-22 17:10:33 638
原创 JavaScript 进阶 - 第1天
JavaScript 进阶 - 第1天学习作用域、变量提升、闭包等语言特征,加深对 JavaScript 的理解,掌握变量赋值、函数声明的简洁语法,降低代码的冗余度。理解作用域对程序执行的影响能够分析程序执行的作用域范围理解闭包本质,利用闭包创建隔离作用域了解什么变量提升及函数提升掌握箭头函数、解析剩余参数等简洁语法一、作用域了解作用域对程序执行的影响及作用域链的查找机制,使用闭包函数创建隔离作用域避免全局变量污染。作用域(scope)规定了变量能够被访问的“范围”,离开了这个
2021-11-22 17:09:48 934
原创 冲击JavaScript - day05(Web API)
一、Web API 介绍1.1 概述JavaScript 是浏览器的内置脚本语言。也就是说,浏览器内置了 JavaScript 引擎,并且提供各种接口,让 JavaScript 脚本可以控制浏览器的各种功能。一旦网页内嵌了 JavaScript 脚本,浏览器加载网页,就会去执行脚本,从而达到操作浏览器的目的,实现网页的各种动态效果。因此这里也可以称为 网页编程或网页特效。1.2 什么是BOMBOM 是 JavaScript 操作浏览器的接口,全称为“浏览器对象模型”(Browser Obje
2021-11-01 20:54:42 254 1
原创 冲击JavaScript - day04(标准库)
1. String 对象1.1 概述String对象是 JavaScript 原生提供的三个包装对象之一,用来生成字符串对象。var s1 = 'abc';var s2 = new String('abc');typeof s1 // "string"typeof s2 // "object"s2.valueOf() // "abc"上面代码中,变量s1是字符串,s2是对象。由于s2是字符串对象,s2.valueOf方法返回的就是它所对应的原始字符串。字符串对象是一个类似数组的对象(
2021-10-28 20:46:32 174 2
原创 冲击JavaScript - day03(运算符与数据类型转换)
一、运算符1. 算数运算符 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,覆盖了所有主要的运算。1.1概述JavaScript 共提供10个算术运算符,用来完成基本的算术运算。 加法运算符:x + y减法运算符:x - y乘法运算符:x * y除法运算符:x / y指数运算符:x ** y余数运算符:x % y自增运算符:++x 或者 x++自减运算符:--x 或者 x--数值运算符:+x负数值运算符:-x减法、乘法、除法
2021-10-28 20:05:08 100
原创 冲击JavaScript - day02(数据类型)
一、概述1.1 简介JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有六种。(ES6 又新增了第七种 Symbol 类型的值。)数值(number):整数和小数字符串(string):文本布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假)。undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值。null:表示空值,即此处的值为空。对象(object):各种值组成的集合。通常
2021-10-28 14:44:29 69
原创 冲击JavaScript - day01(简介与语法)
一、简介1.什么是 JavaScript 语言JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”(script language),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。JavaScript 是一种嵌入式(embedded)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JavaScript 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(host)提供,所以 JavaScript 只合适嵌入
2021-10-25 21:00:09 128
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人