- 博客(55)
- 收藏
- 关注
原创 设计模式之单例模式
单例模式23种设计模式中最简单的设计模式,在项目中只需要一个对象且该类只提供一个取得对象实例的方法(静态方法)一般分为饿汉式和懒汉式,两者各有优缺点,一般来说,我认为饿汉式的优点相对于缺点来说更加显著,代码也更加简单饿汉式:顾名思义,在类加载时就new出来了单例对象静态常量 public class SingtonTest1 { public static void main(String[] args) { for(int i =0;i<100;i++){
2021-03-21 23:06:10 181
原创 模式模式(一)
设计模式课程链接: bilibili尚硅谷课程设计模式的七大原则单一职责原则接口分离原则依赖反转原则里氏替换原则开闭原则迪米特法则合成复用原则1 单一职责原则顾名思义:一个类只应该对一项负责public class Singleresponsibility { public static void main(String[] args) { Vehicle vehicle = new Vehicle(); //违反了单一原则的原则
2021-03-16 22:02:08 517
原创 Springboot笔记(1-30)
Springboot笔记52 错误处理,Springboot默认错误处理机制1、默认规则53 错误处理 - 【源码分析】底层组件功能分析52 错误处理,Springboot默认错误处理机制Springboot错误处理官方文档1、默认规则默认情况下,Springboot将提供 /error处理所有错误的映射。对于机器客户端,它将生成JSON响应,其中包含错误,HTTP状态和异常消息的详细信息。对于浏览器客户端,响应一个错误视图,以HTML格式呈现相同的数据。自定义错误页面。在static或
2021-02-24 13:47:14 986 3
原创 Bean自动装配,注解
7 Bean的自动装配自动装配是spring满足bean依赖的一种方式spring会在上下文中自动寻找,并自动给bean配置属性在spring中有三种装配的方式xml中显示配置java中显示配置隐式的自动装配bean7.1 测试环境搭建:一个人有两个宠物7.2 ByName自动装配<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/b
2020-09-15 20:46:57 251
原创 Spring配置
5 Spring配置别名Bean配置import<import resource="beans1.xml"><import resource="beans2.xml"><import resource="beans3.xml">一般用于团队开发,导入合并为一个,项目中多人开发,不同类需要注册在不同在bean中,可以利用import将不同的bean合并为总的,使用时直接使用总的。6 依赖注入6.1 构造器注入6.2 Set方式注入依赖:b
2020-09-15 20:45:52 189
原创 Spring简介
1.Spring1.1 简介Spring:春天—>给软件行业带来了春天2002,首次推出Spring框架的雏形2004 interface21Rod Johnson,Spring Framework创始人spring理念:使现有的技术更加容易使用,本身就是个大杂烩,整合了现有的技术框架。SSH: Strut2 + spring+ hibernateSSM:SpringMVC+spring + mybatismaven<!-- https://m
2020-09-15 20:43:09 173
原创 idea+mysql事务+数据库连接池
专题 idea+mysql事务+数据库连接池1.开启事务2.一组事务执行完毕,提交事务3.可以在catch语句中显示定义回顾语句,但默认失败就会回滚package com.kuang.lesson04;import com.kuang.lesson02.utils.JdbcUtils;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql
2020-09-15 20:41:06 449
原创 mysql数据库备份、权限管理、JDBC
8. 数据库备份8.1 用户管理sql yog可视化管理用户表:mysql.user本质:对这张表进行增删改查-- ==============权限==========-- 创建用户 CREATE USER 用户名 IDENTIFIED BY 密码CREATE USER kuangshen IDENTIFIED BY '123456'-- 修改密码(修改当前用户密码)SET PASSWORD =PASSWORD('111111')-- 修改密码(修改指定用户密码)SET PA
2020-09-14 20:28:52 243
原创 mysql事务、索引
6、事务6.1 什么是事务要么都成功,要么都失败SQL执行 A给B转账 A 1000—> 200 B 2SQL执行 B收到A的钱 A 800 —> B 400将一组SQL放在一个批次中执行事务原则:ACID原则(原子性,一致性,隔离性,持久性) 脏读,幻读原子性:要么都成功,要么都失败。一致性:前后数据一致持久性: 事务没有提交,恢复到原状;事务已经提交,持久化到数据库。隔离性:多个用户访问数据库时,不会相互干扰。隔离所导致的一些问题
2020-09-14 20:25:57 132
原创 Mysql函数
5、Mysql函数5.1、常用函数-- =====常用函数=======-- 数学函数SELECT ABS(-8); -- 绝对值SELECT CEILING (9.4); -- 向上取整SELECT FLOOR(9.4); -- 向下取整SELECT RAND(); -- 返回一个0~1之间的随机数SELECT SIGN(-10); -- 判断一个数的符号SELECT SIGN(10); -- 负数返回-1,正数返回1-- 字符串函数SELECT CHAR_LENGTH('狂
2020-09-12 09:33:05 87
原创 DQL查询数据
4、DQL查询数据(最重点)4.1 DQL(Data Query Language:数据库查询语言)所有的查询操作都用它 Select简单的查询,复杂的查询都能做数据库中最核心的语言使用频率最高4.2 指定查询字段-- 查询全部学生 SELECT 字段 FROM 表SELECT * FROM student;-- 查询指定字段SELECT `studentNo`,`studentname` FROM student;-- 别名,给结果起一个名字, AS可以给字段取别名,也可以
2020-09-11 23:23:04 149
原创 mysql数据管理
3、Mysql数据管理3.1 外键(了解即可)删除有外键关系的表时,必须要先删除引用别人的表(从表),再删除被引用的表(主表)3.2 DML语言(全部记住)数据库的意思:数据管理,数据存储DML语言:数据操作语言insertINSERT INTO `student`(`name`,`pwd`,`sex`) VALUES ('张三','12222','男'), ('李四','1sss2','女')语法:-- insert into 表名([字段1,字段2,字段3])value
2020-09-11 21:26:50 102
原创 mysql数据库操作
2、数据库的操作mysql关键字不区分大小写操作数据库>操作数据库中的表>操作数据库中表的数据2.1、操作数据库创建数据库CREATE DATABASE IF NOT EXISTS westos;删除数据库DROP DATABASE IF EXISTS WESTOS;使用数据库--tab键上面,如果你的表名或者字段名是一个特殊的字符,需要带`USE `SCHOOL`;4.查看数据库show学习思路对照sqlyog可视化历史记录查看sql固定的语法
2020-09-11 21:25:37 235 1
原创 mysql,sqlyog相关
1、初始MySQLJavaEE:企业级Java开发 Web前端(页面:展示,数据)后台(连接点:连接数据库JDBC,连接前端(控制视图跳转,给前端传递数据))数据库(存数据,txt,excel,word)1.1 、 为什么学习数据库岗位需求大数据时代,得数据者得天下被迫需求: 存数据,去IOE数据库是所有软件体系中最核心的存在 DBA1.2、什么是数据库数据库(DB,database)概念:数据仓库、软件(安装在操作系统上,windows,linux,mac)SQL,可以存储
2020-09-11 21:23:40 160
原创 HTTP,maven,tomcat相关
HTTP相关1. Http1.1 什么是http1.2 两个时代1.3 Http请求1.4 Http响应2. Maven2.1 Maven项目架构管理工具2.2 下载安装Maven2.3 配置环境变量2.4 阿里云镜像2.5 本地仓库2.6 在IDEA中使用Maven1. Http1.1 什么是httpHttp:超文本传输协议,是一个简单地请求,响应协议;通常运行于Tcp上文本: html, 字符串,…超文本:图片,音乐,视频,定位,地图…port:80Https:安全的port:44
2020-09-09 22:37:15 184
原创 JavaWeb基础概念
JavaWeb基础概念1.基本概念1.1前言1.2 web应用程序1.3 静态web1.4 动态web2.web服务器2.1 技术讲解2.2 web服务器3.Tomcat3.1 安装Tomcat3.2 Tomcat启动和配置3.3 配置3.4 发布一个Web网站1.基本概念1.1前言web开发:web网页:www.baidu.comweb分为静态web和动态web静态:html,css页面不会发生变化动态:淘宝京东等几乎所有网站,信息随着页面的变化而变化技术栈: Servle
2020-09-09 20:14:07 402
原创 Opencv-二值图像
二值图像知识点python代码c++代码知识点二值图像介绍二值图像就是只有黑白两种颜色表示的图像,其中0 – 表示黑色, 1 – 表示白色(255) 。二值图像处理与分析在机器视觉与机器人视觉中非常重要,涉及到非常多的图像处理相关的知识,常见的二值图像分析包括轮廓分析、对象测量、轮廓匹配与识别、形态学处理与分割、各种形状检测与拟合、投影与逻辑操作、轮廓特征提取与编码等。此外图像二值化的方法也...
2019-09-17 09:41:55 1868 2
原创 Opencv-图像模板匹配
图像模板匹配知识点python代码c++代码知识点图像模板匹配模板匹配被称为最简单的模式识别方法、同时也被很多人认为是最没有用的模式识别方法。这里里面有很大的误区,就是模板匹配是工作条件限制比较严格,只有满足理论设置的条件以后,模板匹配才会比较好的开始工作,而且它不是基于特征的匹配,所以有很多弊端,但是不妨碍它成为入门级别模式识别的方法,通过它可以学习到很多相关的原理性内容,为后续学习打下良...
2019-09-17 09:32:10 630
原创 Opencv-拉普拉斯金字塔
拉普拉斯金字塔知识点python代码c++代码知识点拉普拉斯金字塔对输入图像实现金字塔的reduce操作就会生成不同分辨率的图像、对这些图像进行金字塔expand操作,然后使用reduce减去expand之后的结果就会得到图像拉普拉斯金字塔图像。举例如下:输入图像G(0)金字塔reduce操作生成 G(1), G(2), G(3)拉普拉斯金字塔:L0 = G(0)-expand(G...
2019-09-17 09:22:38 3077 1
原创 Opencv-图像金字塔
图像金字塔知识点python代码c++代码知识点图像金字塔图像金字塔概念图像金字塔是对一张输入图像先模糊再下采样为原来大小的1/4(宽高缩小一半)、不断重复模糊与下采样的过程就得到了不同分辨率的输出图像,叠加在一起就形成了图像金字塔、所以图像金字塔是图像的空间多分辨率存在形式。这里的模糊是指高斯模糊,所以这个方式生成的金字塔图像又称为高斯金字塔图像。高斯金字塔图像有两个基本操作reduc...
2019-09-17 09:03:25 234
原创 Opencv-Canny边缘检测器
Canny边缘检测器知识点python代码c++代码知识点Canny边缘检测器1986年,JOHN CANNY 提出一个很好的边缘检测算法,被称为Canny编边缘检测器。Canny边缘检测器是一种经典的图像边缘检测与提取算法,应用广泛,主要是因为Canny边缘检测具备以下特点:有效的噪声抑制更强的完整边缘提取能力Canny算法是如何做到精准的边缘提取的,主要是靠下面五个步骤高斯...
2019-09-16 16:04:24 291
原创 Opencv-锐化增强算法(USM)
USM 锐化增强算法知识点python代码c++代码知识点USM 锐化增强算法图像卷积处理实现锐化有一种常用的算法叫做Unsharpen Mask方法,这种锐化的方法就是对原图像先做一个高斯模糊,然后用原来的图像减去一个系数乘以高斯模糊之后的图像,然后再把值Scale到0~255的RGB像素值范围之内。基于USM锐化的方法可以去除一些细小的干扰细节和噪声,比一般直接使用卷积锐化算子得到的图像...
2019-09-16 15:49:35 11358 1
原创 Opencv-图像锐化
图像锐化知识点python代码c++代码知识点图像锐化图像卷积的主要有三功能分别是图像的模糊/去噪、图像梯度/边缘发现、图像锐化/增强。图像锐化的本质是图像拉普拉斯滤波加原图权重像素叠加的输出。-1 -1 -1-1 C -1-1 -1 -1当C值大于8时候表示图像锐化、越接近8表示锐化效果越好当C值等于8时候图像的高通滤波当C值越大,图像锐化效果在减弱、中心像...
2019-09-16 15:41:01 5604
原创 Opencv-拉普拉斯算子
图像梯度 – 拉普拉斯算子知识点python代码c++代码知识点图像梯度 – 拉普拉斯算子图像的一阶导数算子可以得到图像梯度局部梯度相应值,二阶导数可以通过快速的图像像素值强度的变化来检测图像边缘,其检测图像边缘的原理跟图像的一阶导数有点类似,只是在二阶导数是求X、Y方向的二阶偏导数,对图像来说:X方向的二阶偏导数就是 dx = f(x+1, y) + f(x-1, y) – 2f(x, ...
2019-09-16 15:27:38 1959
原创 Opencv-自定义梯度算子
图像梯度 – 更多梯度算子知识点python代码c++代码知识点图像梯度 – 更多梯度算子图像的一阶导数算子除了sobel算子之外,常见的还有robert算子与prewitt算子,它们也都是非常好的可以检测图像的梯度边缘信息。通过OpenCV中自定义滤波器,使用自定义创建的robert与prewitt算子就可以实现图像的rober与prewitt梯度边缘检测,OpenCV中的自定义算子滤...
2019-09-16 15:18:42 938
原创 Opencv-Sobel算子
图像梯度 – Sobel算子知识点python代码c++代码知识点图像梯度 – Sobel算子卷积的作用除了实现图像模糊或者去噪,还可以寻找一张图像上所有梯度信息,这些梯度信息是图像的最原始特征数据,进一步处理之后就可以生成一些比较高级的特征用来表示一张图像实现基于图像特征的匹配,图像分类等应用。Sobel算子是一种很经典的图像梯度提取算子,其本质是基于图像空间域卷积,背后的思想是图像一阶导...
2019-09-12 10:06:47 413
原创 Opencv-自定义滤波器
自定义滤波器知识点python代码c++代码知识点自定义滤波器图像卷积最主要功能有图像模糊、锐化、梯度边缘等,前面已经分享图像卷积模糊的相关知识点,OpenCV除了支持上述的卷积模糊(均值与边缘保留)还支持自定义卷积核,实现自定义的滤波操作。自定义卷积核常见的主要是均值、锐化、梯度等算子。下面的三个自定义卷积核分别可以实现卷积的均值模糊、锐化、梯度功能。1, 1, 1 0, -1...
2019-09-12 09:33:02 1796
原创 Opencv-快速的图像边缘滤波算法
快速的图像边缘滤波算法知识点python代码c++代码知识点快速的图像边缘滤波算法高斯双边模糊与mean shift均值模糊两种边缘保留滤波算法,都因为计算量比较大,无法实时实现图像边缘保留滤波,限制了它们的使用场景,OpenCV中还实现了一种快速的边缘保留滤波算法。高斯双边与mean shift均值在计算时候使用五维向量是其计算量大速度慢的根本原因,该算法通过等价变换到低纬维度空间,实现了...
2019-09-12 09:19:56 1306
原创 Opencv-图像积分图算法
图像积分图算法知识点py代码c++代码知识点图像积分图算法概述积分图像是Crow在1984年首次提出,是为了在多尺度透视投影中提高渲染速度,是一种快速计算图像区域和与平方和的算法。其核心思想是对每个图像建立自己的积分图查找表,在图像积分处理计算阶段根据预先建立的积分图查找表,直接查找从而实现对均值卷积线性时间计算,做到了卷积执行的时间与半径窗口大小的无关联。图像积分图在图像特征提取HAAR...
2019-09-11 10:33:01 359
原创 Opencv-均值迁移模糊
边缘保留滤波算法 – 均值迁移模糊知识点python代码c++代码知识点边缘保留滤波算法 – 均值迁移模糊(mean-shift blur)均值迁移模糊是图像边缘保留滤波算法中一种,经常用来在对图像进行分水岭分割之前去噪声,可以大幅度提升分水岭分割的效果。均值迁移模糊的主要思想如下:就是在图像进行开窗的时候同样,考虑像素值空间范围分布,只有符合分布的像素点才参与计算,计算得到像素均值与空间...
2019-09-11 10:04:32 549
原创 Opencv-高斯双边模糊
边缘保留滤波算法 – 高斯双边模糊知识点python代码c++代码知识点边缘保留滤波算法 – 高斯双边模糊前面我们介绍的图像卷积处理无论是均值还是高斯都是属于模糊卷积,它们都有一个共同的特点就是模糊之后图像的边缘信息不复存在,受到了破坏。我们今天介绍的滤波方法有能力通过卷积处理实现图像模糊的同时对图像边缘不会造成破坏,滤波之后的输出完整的保存了图像整体边缘(轮廓)信息,我们称这类滤波算法为边...
2019-09-11 09:52:53 386
原创 Opencv-图像去噪声
图像去噪声知识点python代码c++代码知识点图像去噪声在OCR、机器人视觉与机器视觉领域应用开发中是重要的图像预处理手段之一,对图像二值化与二值分析很有帮助,OpenCV中常见的图像去噪声的方法有均值去噪声高斯模糊去噪声非局部均值去噪声双边滤波去噪声形态学去噪声这里暂时先说上面的三个方法,后面我们会在分享完相关知识点之后再来说。python代码import cv2 a...
2019-09-10 15:53:23 2901
原创 Opencv-图像噪声
图像噪声知识点python代码c++代码知识点图像噪声图像噪声产生的原因很复杂,有的可能是数字信号在传输过程中发生了丢失或者受到干扰,有的是成像设备或者环境本身导致成像质量不稳定,反应到图像上就是图像的亮度与颜色呈现某种程度的不一致性。从噪声的类型上,常见的图像噪声可以分为如下几种:椒盐噪声,是一种随机在图像中出现的稀疏分布的黑白像素点, 对椒盐噪声一种有效的去噪手段就是图像中值滤波...
2019-09-10 15:36:21 645
原创 Opencv-中值滤波
中值滤波知识点python代码c++代码知识点中值模糊中值滤波本质上是统计排序滤波器的一种,中值滤波对图像特定噪声类型(椒盐噪声)会取得比较好的去噪效果,也是常见的图像去噪声与增强的方法之一。中值滤波也是窗口在图像上移动,其覆盖的对应ROI区域下,所有像素值排序,取中值作为中心像素点的输出值。一般用于去除椒盐噪声。OpenCV中值滤波API函数如下:medianBlur ( Input...
2019-09-10 15:20:52 383
原创 Opencv-图像均值与高斯模糊
图像均值与高斯模糊知识点python代码c++代码知识点图像均值与高斯模糊均值模糊 是卷积核的系数完全一致,高斯模糊考虑了中心像素距离的影响,对距离中心像素使用高斯分布公式生成不同的权重系数给卷积核,然后用此卷积核完成图像卷积得到输出结果就是图像高斯模糊之后的输出。OpenCV高斯模糊 API函数void GaussianBlur(InputArray src,OutputArray...
2019-09-10 15:08:24 454
原创 Opencv-图像卷积操作
图像卷积操作知识点python代码知识点图像卷积操作图像卷积可以看成是一个窗口区域在另外一个大的图像上移动,对每个窗口覆盖的区域都进行点乘得到的值作为中心像素点的输出值。窗口的移动是从左到右,从上到下。窗口可以理解成一个指定大小的二维矩阵,里面有预先指定的值。相关API(C++)blur(InputArray src, // 输入OutputArray dst, 输出Size...
2019-09-10 14:56:03 298
原创 Opencv-图像直方图反向投影
图像直方图反向投影知识点python代码c++代码知识点图像直方图反向投影文字解释:图像直方图反向投影是通过构建指定模板图像的二维直方图空间与目标的二维直方图空间,进行直方图数据归一化之后, 进行比率操作,对所有得到非零数值,生成查找表对原图像进行像素映射之后,再进行图像模糊输出的结果。直方图反向投影流程:计算直方图计算比率RLUT查找表卷积模糊归一化输出相关APIc...
2019-09-10 09:25:47 224
原创 Opencv-图像直方图比较
图像直方图比较知识点python代码知识点图像直方图比较,就是计算两幅图像的直方图数据,比较两组数据的相似性,从而得到两幅图像之间的相似程度,直方图比较在早期的CBIR中是应用很常见的技术手段,通常会结合边缘处理、词袋等技术一起使用。OpenCV中直方图比较的API很简单compareHist(hist1, hist2, method)-常见比较方法有相关性卡方交叉巴氏pyth...
2019-09-10 09:04:10 309
原创 Opencv-直方图均衡化
直方图均衡化知识点python代码c++代码知识点图像直方图均衡化图像直方图均衡化可以用于图像增强、对输入图像进行直方图均衡化处理,提升后续对象检测的准确率在OpenCV人脸检测的代码演示中已经很常见。此外对医学影像图像与卫星遥感图像也经常通过直方图均衡化来提升图像质量。OpenCV中直方图均衡化的API很简单equalizeHist(src, dst)python代码impor...
2019-09-09 16:29:58 473
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人