霍夫线变换
霍夫线变化适用于在检测某一张图像中线段的位置,在实际使用过程当中可用于对图像线段特征进行查找过滤。个人能够想到的实际用途可能是用于作业检测,检测在横线上填写的答案。霍夫变换是图像分析,机器视觉,数字图像处理中常用的处理方法。这种方法能从图像中分离出一些特定的形状的图形。经典的霍夫变换研究的是如何在图像中分离出直线,随着研究的深入,霍夫变换可以分离出图像中的圆,椭圆,甚至是任意形状。 基础知识首先需要明白一个基础知识,就是在笛卡尔坐标系当中,一条线段的表示方法是:y = kx + q,其中q是常量。但是在霍夫空间中,一条线段是以一个点来表示的。反之,霍夫空间中的线代表笛卡尔坐标系当中的点。即: 霍夫空间点 == 笛卡尔坐标系线 笛卡尔坐标系点 ==...
md5加密与AES加密
md5加密简介消息摘要算法第五版(英语:Message-Digest Algorithm 5,缩写为MD5),是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一(又译哈希算法、摘要算法等),主流编程语言普遍已有MD5的实现。将数据 (如一段文字)运算变为另一固定长度值,是散列算法的基础原理,MD5的前身有MD2、MD3和MD4。MD5由MD4、MD3、MD2改进而来,主要增强算法复杂度和不可逆性。目前,MD5算法因其普遍、稳定、快速的特点,仍广泛应用于普通 数据的错误检查领域。例如在一些BitTorrent下载中,软件将通过计算MD5检验下载到的文件片段的完整性。MD5已经广泛使用在为文件传输提供一定的可靠性方面。例如,服务器预先提供一个MD5校验和,用户下载完文件以后, 用MD5算法计算下载文件的MD5校验和,然后通过检查这两个校验和是否一致,就能判断下载的文件是否出错。MD5是输入不定长度信息,输出固定长度128-bits的算法。经过程序流程,生成四个32位数据,最后联合起来成为一个...
经典七层网络模型
以前: 为什么我用不到面试还要问?现在:...
top命令基础
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top命令展示的信息众多,初学者可能不能够快速掌握所有信息概况,以下对top命令基础进行简单讲解。 top在使用了top命令后会出现以下数据样式: 1234567891011121314151617top - 01:05:24 up 9 min, 0 users, load average: 0.00, 0.04, 0.05Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.1 us, 0.3 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stKiB Mem : 7990064 total, 7001532 free, 698000 used, 290532 buff/cacheKiB Swap: 8257532 total, 8257532 free, 0...
shell环境变量
bash shell用一个叫作环境变量(environment variable)的特性来存储有关shell会话和工作环境的信息(这也是它们被称作环境变量的原因)。这项特性允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们。这也是存储持久数据的一种简便方法。 简单来说环境变量就是在交互环境中预先被设定的变量,能够让程序启动的时候更快的找到他们或者为某些程序预先设置运行条件的变量设置。如电脑中两个Java,指定环境变量能够让Java默认启动第一个或者第二个。 在shell编程中尽量使用大写字符作为变量名称。并且环境变量不能够以数字作为变量名的开头。 环境变量发赋值与输出12变量名称=变量值echo $变量名称 全局变量与局部变量全局变量生效与所有的shell环境中。 export a=1 1234567[root@my server~]# echo $b2[root@myserver~]# b=2[root@myserver~]# export b[root@myserver~]# bash[root@myserver~]# echo...
conda那些命令
命令 创建虚拟环境 : conda create --name my_first_env python=3.6 列出虚拟环境 : conda env list 激活虚拟环境 : conda activate my_first_env 查看环境信息 : conda info -e 根据路径激活虚拟环境 : conda source /root/python/bin/activate 推出虚拟环境 : conda deactivate 删除虚拟环境 : conda remove -n your_env_name --all 创建时候安装需要的包 : conda create -n env_name numpy matplotlib python=2.7 在离线的时候创建虚拟环境 : conda create -n env_name --offline python=3.8 环境复制 : conda create --name new_env_name --clone old_env_name 查看所有包 : conda list conda...
一个简单的定时任务
在编写某些脚本的时候往往需要使用到定时执行任务,定时执行任务可以通过下发多进程或者使用某些调度算法实现,在python中为开发者提供了一个库可以快速实现定时任务并且不让主进程受到干扰。这个库就叫做:APScheduler。 简介dvanced Python Scheduler (APScheduler) 是一个Python库,可实现延迟调度要执行Python代码的功能,可以只执行一次,也可以定期执行。可以随时添加新任务或删除旧任务。如果将job任务存储在数据库中,这些任务还将在重新启动调度程序后保持它们的状态并继续运行。当重新启动调度程序时,它将运行离线时应该运行的所有job任务,这个功能可以让程序弥补由于外部情况损失的任务。这个库有四个组件: triggers触发器 : 包含调度逻辑,每一个job有它自己的触发器,用于决定job下一次运行时间。除了初始配置外,触发器完全是无状态的。 job stores作业存储 :...
进程锁与进程池
如果多个进程抢占去对某一个共同的对象的操作的时候,为了防止操作产生冲突,这个时候就可以通过锁的操作来避免。 案例展示以下展示没有使用锁的案例: 123456789101112131415import timefrom multiprocessing import Process,Value,Arraydef test_func(n,): n.value = n.value + 1if __name__ == "__main__": num = Value('i',0) for i in range(20): p = Process(target=test_func,args=(num,)) p.start() time.sleep(1) ...
RGB与CMYK
在最近的工作中经常遇到图像处理相关知识,因此做一个记录: RGB模式RGB模式是以色光三原色为基础建立的色彩模式,RGB图像只使用三种颜色,当不等量的三种色光进行叠加混合时,即会在屏幕上重现自然界各种各样的颜色。红、绿、蓝每一种颜色各有256级亮度,用数字表示为从0、1、2…..直到255,256级的RGB色彩总共能组合出约1678万种色彩。RGB模式是电脑、手机、投影仪、电视等屏幕显示的最佳颜色模式。 CMYK模式CMYK是4种印刷油墨名称的首字母:青色Cyan、洋红色Magenta、黄色Yellow和黑色Black。之所以没有缩写成B(Black),是为了和RGB的B区分开,此外表示K印版是起关键作用的印版,在图像中能起到一种”骨架”的作用。CMYK主要应用于印刷,它的颜色由四个通道组成。印刷时,C、M、Y、K各出一张菲林。 两者都是作为计算机颜色的表示工具,前者更适合电脑,后者更适合打印,前者的色域更广,后者略微少,但是两者都有自己独特的色域。 补充 灰度RGB...
三层架构/MVC/MTV
在以前的时候,我总是把这三者混为一谈,总以为是不同语言或者不同环境条件下的称呼或者变种,后来我逐渐明白这是不一样的。 三层架构web开发其实并不一定需要遵循某一个框架进行开发,其实上能够实现web服务就行,但是在长期的摸索跟探究过程中,前人根据自己的经验进行总结,得出依据某个框架或者某个模式进行开发是一个较为高效的过程。 界面层(表示层):用户看的界面。用户可以通过界面上的组件和服务器进行交互 业务处理逻辑:处理业务逻辑的 数据访问层:操作数据存储文件 本质上这是一个线性结构,从上往下: 表示层请求数据,发送给业务逻辑层 业务逻辑层根据情况去数据访问层进行数据查询 从下往上: 数据访问层提交原始数据给业务逻辑层 业务逻辑层将处理后的数据提交给表示层 整个过程是一个线性结构从上至下的请求数据,数据从下往上进行返回 三层架构的优缺点优点:1、高内聚,低耦合2、方便维护,易于扩展3、开发人员可以只关注某一层,有利于分工协作,加快开发速度 ...














