
算法
走错路的程序员
爱程序,爱技术.更爱老婆和骇子.
展开
-
两个移相算法
这个移项是不是90度,不太好说.得到的幅值会变大,需要缩小.而且还有相位逐渐下移的趋势.下移的原因未知.也未深入探索,因计算量比较大,也没采用顾抛弃掉.经过测试,更改索引实现移项的算法还是比较快速和稳定的.建议使用过零检测算法.第二步,将下标索引前移1/4公式为N=N*5/4。利用数字计算机的下标索引,将数值提前或者移后1/4。第一步,先测量出,两个正弦波峰值之间数据的个数N.索引实现移相的使用方法.检测过零点测量周期宽度。......原创 2022-07-31 16:54:47 · 1196 阅读 · 0 评论 -
大量滚动数据求平均
经过晚上的冷静,思考,我发现我程序员思维已经很僵化了,一直以来,老师在教程序设计时,都会用从1+100应该用一个for循环来编写,在数学上,其实就是一个简单的等差数列求和公司可以搞定,像这里讨论的计算平均值,其它背后的数字真是简单的要命,而习惯摆度的我,从网上找到了上面的公式是如此的大呼神奇!今天写一个程序,遇到一个求平均值的需求,数据不断的产生,如果记录所有数据,需要的存储空间是不可能的,比如我要计算消息的响应时延,一次程序运行将至少会有上亿次消息发送,存储每一次的响应时间,最后求平均,是不现实的。...转载 2022-07-31 09:30:18 · 783 阅读 · 0 评论 -
光电脉冲上升沿检测
方法一, 最大最小值, 跳变取50%这种方法很简单, 但是这种方法 有bug, maxPulse 和minPulse 会陷入极限值, 例如 -0 和 -65536应当要注意初始化参数的取值. 即便是取值正确也仍然会陷入局部最小值, 导致minPulse和maxPulse 取值失去作用. /// <summary> /// 最大光电脉冲值 /// </summary> public static float maxPul原创 2022-05-23 18:08:39 · 533 阅读 · 0 评论 -
C# RC低通,高通滤波算法
参考文章: https://www.sohu.com/a/233360876_466960参考文章:https://blog.youkuaiyun.com/qq_34040067/article/details/114048308我是摘抄自网络, 对其进行了优化排版, 使其易于理解.4.接下来是低通滤波公式推导(高通滤波公式可以用相同的思路推导出来)PS:非专业分析,仅供参考,如有错误请指正。先定义符号意义:Q -电荷量(库伦),C -电容(F),R -电阻(欧姆),U -电压(V),fs -采样率原创 2022-05-18 11:21:00 · 4146 阅读 · 1 评论 -
积分公式,如何转化成程序
对于我这个没上过大学的人来讲 ,看微积分公式实在是很困难的事情.我只能通过自己的理解和学习不断的一点点的掌握这些原本应该在大学课堂所学习的知识. 按照我程序员的逻辑思维解释一下. 希望能帮助那些跟我一样痛苦的朋友.积分公式∫abf(x)dx\int_a^b f(x) dx∫abf(x)dx这个公式的意思是, 有一个变量 x , 取值从a到b , 每次只取一点点dx, dx 能取多小取多小. 但不能是0, 然后把这个数值放入函数 f 中, 然后把f函数的的结果求和.换成程序是int原创 2022-05-17 17:56:33 · 757 阅读 · 0 评论 -
生成正弦信号 C#
/// <summary> /// 生成正弦信号 /// </summary> /// <param name="f0">frequency in Hz 模拟信号的频率, 单位Hz</param> /// <param name="phi">initial phase 初始相位</param> /// <param name="A"&g...原创 2022-05-07 11:34:55 · 1651 阅读 · 0 评论 -
如何按字符串分配到有限的计算池
为了提高系统性能, 系统要升级到分布式, 那么遇到的第一个问题,业务逻辑要求数据必须按终端并且按顺序计算…那么如何才能保证某台终端的数据, 始终被分配到同一台服务器上进行计算呢?这里给设备终端弄了一个编号. 为字符串类型的. 通常为了方便会将每个编号和机器之间建立一个对应关系, 指定某台终端的数据由那台服务器进行计算为了方便采取了求和并取余的方法.算法如下, 先将字符串转换成数字, 然后再用数字去取余, 用所得的余数即为分配到的服务器号. String bh = "afeajogao原创 2021-08-02 10:44:56 · 203 阅读 · 0 评论 -
python实现求纯色彩图像的边框.
先上效果图原图是下面这样的这个算法最大的特点是保留原始像素的数值, 而不是把边框统一变成白色.实现的算法也超级简单. 就是有点慢. 考虑到我这个应用场景对性能要求不高, 比人快就行. 人工是它的几百倍. 所以也就无所谓啦.算法原理, 每次4个田子形像素逐行扫描. 发现4个像素不一致的就输出到结果图上. 否则就是输出0.代码如下.## demo.py# 识别单张图片#import argparseimport os import numpy as npimport time原创 2021-04-07 13:33:41 · 402 阅读 · 1 评论 -
RGB转一维线性色彩空间计算两个颜色的距离.判断颜色是否相近.计算两个颜色的差.
我最近在解决一个问题, 想计算两个小图片的相似性.为了简化计算我打算把rgb三种颜色的分离数值合并成一个数值. 两种颜色越是相近, 这两个数值的差越小例如 颜色 #000001和颜色#000002的差是1, 数值越小说明两个颜色越相近. 如果事情是这么简单的话就优美了… 但是现实情况却并非如你所料的那么美好.例如颜色#ffffff是白色 和颜色 #feffff, 人眼几乎是区分不出来的.可以视为相等, 差应该是1. 但是他们在数学上的两个差值是#010000这么大,有没有什么原始的算法.或原创 2021-01-22 17:58:26 · 2821 阅读 · 5 评论 -
python matplotlib 绘制二维数据中某些列到折线图,没有线的解决方法
results.txt中的文本数据是这样的.{ "epoch":0, "imgindex":0, "imgcount":63, "lr":0.0002 , "loss":3.2448 , "loss_classifier":2.5456 , "loss_box_reg":0.0000 , "loss_mask":0.0000 , "loss_objectness":0.6903 , "loss_rpn_box_reg":0.0089 , "time":31.9483, "data":12.原创 2020-11-11 15:38:24 · 2441 阅读 · 1 评论 -
计算机视觉识别新增物品笔记 三
继计算机视觉识别新增物品笔记 一计算机视觉识别新增物品笔记 二之后的一段时间里我一直在自己摸索尝试去解决图像中的背景分割和新增物品切割问题.中间试过各种各样的方法, 感觉总是不理想.后来又单独尝试用了cv2.Canny 实现图像轮廓提取, 但是无法解决边缘受到强光照的影响造成的物体不连续. 还有阴影造成的物体边界不连续.后来还尝试用轮廓,找到物品.凡此种种,在经历过很多次的尝试和失败之后, 我发现了图像识别最重要的几个因素.第一是光照和阴影对图像识别有很多的干扰. 要第一时间去掉.第二是原创 2020-09-11 10:57:28 · 566 阅读 · 0 评论 -
近乎万能的解题钥匙--加层
经过这么多年的工作, 我发现加层似乎是一个万能的解题钥匙。在软件架构方面, 最好的通用的解决方案似乎是 加层。例如为了解决某种不确定性可以加一个接口层, 例如CPU各种各样,指令各种各样, 于是人为的加了一层虚拟机。例如Java虚拟机, .net虚拟机 ,在编译器里面也是通过生成到中间代码这一层后续再处理做到的适配各种CPU。为了解决日后需求变更, 加一层接口层。为了解决各种各样的硬件接口, 于是加了一层虚拟硬件接口,USB。为了解决数据库切换,于是加了DAL层。甚至是在算法上,很多看似无法解的问原创 2020-08-11 08:50:34 · 346 阅读 · 0 评论 -
傅里叶分析学习笔记
学习傅里叶分析也零零散散的学了快1年了, 都是自学。看网上的资料学习的。 其中不乏比较通俗易懂的讲解傅里叶分析概念的。例如下面这几篇文章《傅里叶分析之掐死教程》 下面两个链接都是一样的。防止找不到。随便看一篇都行。 https://zhuanlan.zhihu.com/p/19763358 https://blog.youkuaiyun.com/u012361418/article/detail...原创 2018-04-21 23:04:32 · 2213 阅读 · 0 评论