- 博客(13)
- 收藏
- 关注
原创 使用水平投影和垂直投影对车牌进行旋转处理
可以看到当当前行投影小于我们设定的阈值时,另count1++,这是记录谷宽度,以下图为例,当前阈值为36,也就是直到k=5时才会进入else环节,可以看到若是中间没有宽度,则不会记录该点。· 这里我们需要理解的是,我们是从上往下一行一行的扫描,所以如果所给予的初始图片是车牌,那么,最大峰宽度所代表的就是车牌中的内容。使用每列的第一个白色像素点的位置来拟合一条直线,获取直线斜率,然后计算斜率的反正切值,得到拟合直线与x轴的夹角。首先确定底边的位置,如果最后一个峰的宽度为 0,则说明无下边。
2024-05-04 01:52:54
447
1
原创 块设备驱动
/ 扇区数量 容量/大小。else if (bio_data_dir(bio) == WRITE) // 写。#sudo mount /dev/myramdisk /mnt/ 安装文件系统。if (bio_data_dir(bio) == READ) // 读。
2023-11-19 10:38:20
96
1
原创 APSO-适应粒子群优化算法简介
在勘探阶段中,f的值较大,然后在开发阶段f迅速减小,收敛阶段时,f趋于零。由于PSO在最优点转移时的表现良好,我们认为PSO具有优秀的转移能力,即跳出局部最优能力,因此设计了ESE方法帮助PSO判断当前情况,并作出对应策略。跳出阶段,全局最佳粒子从局部最优跳跃到更好的最优时,很可能远离拥挤的粒子群,这时候一个相对较大的c2值和一个相对较小的c1值是有帮助的。当前状态被判断为收敛状态时,需要一个强有力的动力,推动当前的全局最优粒子,因此开发基于扰动的ELS来帮助全局粒子推动自身。
2023-10-24 11:18:44
549
原创 《操作系统真相还原》第8章 内存管理系统
断言是指程序员断定程序运行在此处时,某数据的值一定为多少多少。当ASSERT排查出错误后,我们将会关闭中断输出报错信息。
2023-10-17 17:38:45
140
原创 《操作系统真相还原》第7章 中断
中断描述符表是保护模式下存储中断处理程序入口的表。中断描述符表中出了中断描述符,还有任务门描述符和陷阱门描述符,因为其作是通向某段程序的“大门”,又被称之为门。门表示一段程序的入口,门描述符中描述的是一段代码。所有的描述符大小都是8字节,描述符中添加了各种属性,用于判断。描述符高4字节的第8~12位是表述描述符的类型,第12位是S位,用来表示系统段(S为0)或非系统端(S为1)。
2023-10-09 19:09:44
366
1
原创 《操作系统真象还原》第6章 完善内核
参数的传递方式,是放在寄存器?栈?还是两者混合?参数的传递顺序,是从左往右?还是从右往左传递?是调用者保护环境,还是被调用者保护?保护那些寄存器呢?如果我们使用寄存器来传递参数,那么用哪些寄存器来储存参数?参数要保留又要存放在哪?每个进程都有自己的栈。保存参数的内存地址不用再花费精力维护,已经有栈机制来维护地址变化了。调用约定的种类繁多,这里我们只介绍C语言的一种调用约定cdecl和stdcall。
2023-09-11 11:11:19
129
原创 《操作系统真象还原》第4章 保护模式入门
实模式下,操作系统中的安全性和使用性不佳1)系统程序和用户程序在同一级别2)逻辑地址等于物理地址3)用户程序可以自由修改段基址4)访问超过64KB的内存区域时就要切换段基址5)一次只能运行一个程序6)共20条地址线,最大可用内存为1MB目前,我们虚拟机上的实模式是指64位的CPU运行在16位模式下的状态。
2023-08-25 20:55:51
123
1
原创 《操作系统真象还原》第三章 完善MBR
CPU中有栈段SS寄存器和栈指针Sp寄存器,他们是用来指定当前使用的栈的物理地址。栈是线性表中的一种,后进先出,也就是从上往下。在内存中指定一块区域为栈区域,其起始地址存入栈基址寄存器SS,其指针用寄存器sp来指定。栈在使用过程中是向下扩展的,所以栈顶地址小于栈底地址push指令,先将SP减去字长,所得新的SP,再讲数据压入。POP指令相反,先弹出数据,才讲SP指令加上字长在更新SP针对硬盘的IO接口是硬盘控制器,与显卡和显示器不同的是,硬盘控制器是和硬盘链接在一起的IO接口与端口。
2023-08-22 13:11:36
185
1
原创 《操作系统真象还原》第二章 编写MBR主引导程序
在开机的瞬间,强行将CS的值置为0xF000,IP的值置为0xFFF0,这样CS:IP就指向了0xFFFF0这个地址(即bios程序的入口地址),值得注意的是实模式下只能访问1MB的内存,也就是0xFFFF0~0xFFFFF中的这16个字节,这说明bios的真正的地址并不在这里。位于0盘0道1扇区可能是规定->方便寻找,因为mbr程序是由末尾的魔数来判定的(0x55和0xaa),若次扇区末尾是这两个魔数,则会被加载到0x7c00,随后跳转到此地址,继续执行。1、为什么是0盘0道1扇区的内容?
2023-08-17 12:22:30
93
1
原创 《操作系统真象还原》bochs环境部署
我在学校使用了这本书做了实验,但感觉囫囵吞枣,学的并不是很透彻,于是痛定思误,利用假期在学习一次如何搭建操作系统。
2023-07-29 20:04:02
97
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人