大津算法OTSU(最大类间差法)
由日本人大津于1979年提出,基本思想就是,找到令前景和背景差距最大的那个T,就是最佳阈值(1)对于图像I,设T为前景与背景的分割阈值(初始化阈值),记住T是会浮动的,它会慢慢调整(2)根据上一步初始化定义的T:设前景像素点数占图像比例为W0,前景平均灰度值为u0设背景像素点数占图像比例为W1,背景平均灰度值为u1(3)设图像总平均灰度 ut = w0u0 + w1u1(4)计算方差值Q=W0*(u0-ut)^2 + W1*(u1-ut)^2方差值越大,说明图像构成的两部分差别越大,在该点阈值
自适应阈值法(图文总结)
概念:该方法网上很多很简洁但是很难懂的公式,本文章将会由简单例子入手,一步步去理解那些公式,但是不做代码实现,毕竟只要搞懂了这个算法的思想,代码的实现其实千变万化,甚至用CV库的话根本不用写代码。为啥出现这个二值化算法,OTSU的致命缺陷在哪里?在大津算法OTSU中,由于采取的都是全局均值求出最佳全局阈值,但是在图片光照不均匀的场景,很容易把稍微模糊的边缘目标图像当作背景,为了避免这种场景,我们就可以考虑更为细腻的局部自适应阈值,它是根据图像不同区域亮度,不断计算更新局部阈值,同时不断“刷新”局部图像
Springboot+Maven做启动类与业务模块分离的架构模式
之前的项目一直是启动类与Controller,Service,Mapper等包同级。Maven仅仅是引入其他模块或者第三方Jar包工具。但是最新接手一套项目的架构非常有趣,也是记录一下分享一下,直接上示意图:上图一共五个Maven项目,父模块包含着四个子模块,子模块中有一个就是负责启动ABC那个子模块的启动类,ABC三套子模块中,又有各自的controller,service,mapper的包,然而仅需要ABC三个子模块的controller的包名路径一样(⚠️最好要保持一致,不然该案例的配置会扫描不
第一章:各种款式的算法复杂度例子+计算小技巧
(1)正确性。能正确解决问题。(正确)(2)可读性。易读,便于人们理解。(简单易读)(3)健壮性。有些也称之为鲁棒性(robust),是指软件对于规范要求以外的输入情况(非法数据等)的处理能力。(容错)(4)高效率/低存储。所谓高效率就是稍后主要演示的时间复杂度。低存储就是指算法执行过程中需要的最大存储空间。(运行时间快,占用空间小)时间复杂度一:加法规律。
第三章:栈/队列 重点题
按照题目的输出序列,第二个输出的必须是2,此时P3和P1中间隔着P2,所以必须P2出完,P1才能出栈,所以,P1绝对不可能是2,但是从P4~Pn都有可能是2,设 i 属于4~n范围内且Pi=2,则Pi进,Pi出,马上可以得到1,2的输出序列。当. top2 - 1 == top1 的时候,即第二个栈还想放元素,但是已经碰到第一个栈的栈顶指针了,即下一个位置已经是别人的栈顶,也就是共享栈已经满了,不能再放了,所以,当 : top2 - top1 = 1时,栈满。即所有元素都出队完了,此时是队空。
第四章:串(KMP算法和KMP优化)
/ 复制数组 memcpy(s . ch , a , strlen(a));i ++) {} }1: 前两位固定0 12:从第三个位置开始,把子串往后挪动,找到左边线部分上下最大的匹配前缀,也就是左边线上下两字符串必须完全匹配;右边线的子串位置就是next数组下一次要比较的值的位置,也就是回溯位置。3: 若子串完全挪过中间线,也没找到两字符串匹配的位置,next数组值设为1;也就是它们已知的部分一个都匹配不上,只能从头第一个开始匹配。
二叉树的性质的结点数与高度的计算题
若有第七层,则第七层最多有:2^7-1 = 64 个结点,且第七层的全部是叶子结点,但是第六层要有8个叶子,也就是可以想象成第六层有8个结点没有生育能力,无法生孩子,那么第七层就会少 2*8 = 16个结点。因为完全二叉树只有六层,第六层不满,前五层满,根据公式,第五层有 2^5-1 = 16个结点,又因为第六层有3个叶子,3个叶子结点会占用第五层2个结点,所以第五层的叶子结点数: 16 - 2 = 14。要第七层结点最多,则第六层必须满,这样第六层的父辈才能往下生长结点,那么照推第五层也必须满…
树/二叉树/森林之间的相互转换 与遍历
因为根结点没有兄弟,所以它仅有左孩子,所以从二叉树的左结点入手,找左结点的全部右兄弟,使它们连接到左结点的parent结点(下图虚线所示),然后断开兄弟之间的连线(打叉叉的地方),然后再从第一个兄弟的左结点继续往下找,依次。森林总结点数为m,即二叉树的总结点数也是m, 根p的右子树结点数有n个,我们根据森林转二叉树规则知道根结点的右子树都是由森林中其它树构成的,既然右子树结点n,也就是除了第一棵树外总的结点数n,所以第一棵树就有m-n个结点。如果是无序树,EF的位置就可以对换,还是同一棵无序树。
图/图的存储/图的遍历
有向图就是边的指向是有方向区分的,例如从A->B ;从A可以到B,但是B不能到A(有向图的边是一个箭头,称之为弧,弧头是w,弧尾是v)无向图的边是无方向区分的,只要A-B,从A可以到B,从B也可以到A1:图一定不可以是空图,也就是说顶点集一定不能为空,边集可以为空2:完全图:若任意两个顶点之间都存在着边(注意这里的边是任意两个顶点直接相连的边),则称该图是完全图。无向完全图有n*(n-1) / 2 条边。有向完全图有n*(n-1) 条边3:子图:图中的某一部分顶点和一部分与顶点相连的边构成的新图,
堆排序(大根堆与小根堆)
是一种适用于关键字较多的情况下的排序算法,例如在十亿个数中选出前1000个最大值或者最小值如果在传统的排序算法中(例如冒泡,插入等),我们习惯把目标数据整体进行一次排序,再截取出前1000个最小的或者最大的。但是我们可以设想一下,从一开始我们目标就只要1000个,那么其实其余九亿九千九百九十九万九千个数据,我们压根不需要知道它们的排序顺序,只需要知道它们都比我们1000个目标数据中最大值都要大就可以了这就是堆排序。它的思想整体上非常清晰简单,结构上是一个完全二叉树。根结点比左右孩子都大则叫做大根堆。
[oh-my-zsh] Can‘t update: not a git repository. 错误解决
MacOS打开iTerm总是出现[oh-my-zsh] Can't update: not a git repository.
适用于物联网数据共享的区块链节点存储优化方案
摘 要:在基于区块链的物联网数据共享中,区块链要求节点具备大量的存储资源,这极大阻碍了更多物联网设备加入共享。针对这个问题,提出一种适用于物联网数据共享的区块链节点存储优化方案。该方案提出适用于物联网数据共享场景的存储模型,引入部分重复码对实用拜占庭容错算法进行改进,在共识过程中完成区块链账本的优化存储。实验分析表明,该方案能够在保证共识效率和容错性的同时,大幅降低区块链节点的存储开销。内容目录:1 方案设计1.1 部分重复码1.2 存储模型1.3 PBFT 改进2 实验与分析2.1 性能测试与分析2.1.
同花顺l2接口使用体验感怎么样?
小编曾经用过同花顺的L2,首先就是运行速度方面还是不错的,但是小编认为还是有很大的改善空间,第二个就是感觉同花顺l2接口软件挺容易上手的,特别是对于有一些有基础的投资者来说就更简单了,那么其中的附加功能,如金股快线,是通过L2分笔数据搜索某一时段大单集中净买入量大的个股,这样的个股短线有爆发力,但还是要有一些短线操作的基础这样才能用起来得心应手!状态:0-开盘前,1-开盘集合竞价,2-集合竞价至连续竞价,3-连续竞价, 4-中午休市,5-收盘集合竞价,6-闭市。委托买入数量明细(十档)
今日推荐
周排行