看一看泄露的Windows源码(一)源码目录结构

昨天有一份42.9G的windows源码包泄露出来,包括多个Windows、Windows Searver发行版的源码,最重要的是Windows XP和Windows Server 2003目前依旧运行在很多老旧的电脑上,如果有漏洞被拿来利用,可能产生很严重的危害。

博主在数年之前就拿到过Windiows Server的源码,但是代码很杂,也编译不了,不过这次源码泄露范围更广,在各个社区也有分析,并且已经有一些人编译成功了(本来还以为需要微软内部的工具集,看起来泄露的压缩包里都有了,微软糗大了),可以跟着学习一波,先简单看下,能不能从里面抽出一些有用的工具。

阅读更多

Image Watch支持自定义的图像类型

Image Watch插件是为了满足OpenCV可视化图像处理调试而开发的插件,天然的支持OpenCV各种图像类型。如果我们要支持自己的图像类型在Image Watch中显示,那么应该怎么做呢?
有两种方法可以使用 Image Watch 来显示自己的图像,一是使用Image Watch自带的显示内存操作,使用@mem(img_ptr,type,width,height,stride) 来显示,二是使用Image Watch的类型拓展,加入自己的类型的配置文件即可。

阅读更多

自制操作系统(二)保护模式

上一篇博客我们简单写了一个引导,还没有进入系统,在进入系统之前,我们有必要先了解下CPU的实模式和保护模式。我们的程序不加任何保护,直接运行在CPU上,称为实模式,16位实模式最大寻址空间为1M。CPU可以通过保护模式拓展寻址空间,并进行访问权限管理和校验,32位保护模式的寻址空间可以拓展到4G。在保护模式下物理内存、页、中断都会保护起来、不同特权级下IO端口也不能随意使用。

阅读更多

自制操作系统(一)引导扇区

一个操作系统,想要被BIOS找到,依靠的就是引导扇区。所以操作系统的第一步就是实现引导扇区。这篇博客要用到两个工具:nasm和vmware。引导扇区一般用汇编编写,我们使用nasm来把编译汇编源文件翻译成机器码。nasm工具可以在 这里 下载。另外我们在虚拟机上模拟启动(或者烧录到U盘启动),所以准备VMWare或者其它虚拟机软件,准备好着这两个工具就可以开始了。

阅读更多

GradientShop介绍

GradientShop是在梯度域上对图像进行编辑的一个框架,通过该框架可以完成Sharpen、Relight、ToneMapping、Deblock、NPR Filter、DeFlickering等多种图像处理任务。这篇博客简单介绍GradientShop,着重介绍各项功能的实现过程。

坑没填完,先置顶提醒下自己0.0

阅读更多

图像融合(三)Exposure Fusion

上一篇博客介绍了Laplace Pyramid进行fusion,其实也就介绍了Exposure Fusion的基本原理。Mertens Exposure Fusion 是HDR图像合成上非常经典的算法。Exposure Fusion的多尺度图像融合同样借助Laplace Pyramid分解和重建,特别强调的是编辑laplace金字塔的过程,在计算亮度权重、对比度权重、曝光权重后将构建权重的高斯金字塔,然后进行拉普拉斯金字塔的重建,最后得到一张各部分曝光都很良好的图像。

阅读更多

图像融合(一)Poisson Blending

泊松融合(Poisson Blending)又作 Seamless clone,用于将两幅图像“无缝”的融合起来,基本原理就是最优化一个方程,尽量在和base边界处保持相关的亮度,同时保留剪切过来图像的梯度,这样看起来两张图像就“无缝”拼合在一起了。因为该工具在opencv中已经存在,所以我们可以直接使用opencv体验其效果。这篇博简单介绍原理,以及感受效果。

阅读更多

使用MatlabLib制作动画图表

制作简单的动态图表,用Matplotlib就可以了,Matplotlib中的FuncAnimation类可以通过一个迭代器不断创建图像帧,最后可以通过plt.show,或者直接save,将帧拼成动画保存下来。原理非常简单,博主简单做下记录,没有太多介绍。

前排放个参考链接,里面有更多炫酷的动图制作代码:Animatin-With-Matplotlib

阅读更多

使用labelme标注landmark点

标注landmark的话,人脸landmark标注工具比较多,但是想要标注其它物体的landmark点,可能就要自己动手了。labelme作为一款开源好用的多边形标注工具,博主借用labelme多边形标注的json文件,将其转化成landmark点的文件(博主这里使用的是.pts文件),这样我们就可以先标注好多边形,将多边形的顶点作为landmark点。

阅读更多

视频帧间插值(一)Softmax Splatting for Video Frame Interpolation

视频插帧是计算机视觉许多应用中的一个传统问题,splatting transformer network 技术已被广泛用于两幅图像之间的新图像合成:非监督深度估计,非监督光流预测,光流预测,新视角合成,视频插帧,视频增强,视频编辑、视频压缩、去除视频运动模糊中。视频插帧方法被分为flow-based、kernel-based、phase-based。这些方法都是估计出两帧之间的光流场,一般通过warp前一帧来得到中间帧。视频插帧在某些场景下特别困难,比如场景和物体在不断运动和变化,或者存在遮挡时,插帧问题会同时存在多个解。

这篇博客介绍CVPR2020的一篇论文,是flow-based的方法。这篇文章主要贡献有两个,一是使用了softmax splatting的方法来处理不同源像素warp之后到同一点的问题,二是使用了特征金字塔,应该是对大位移有更鲁棒。

阅读更多

保边滤波

自然图像都存在噪声,噪声和边缘在局部方差方面表现相似,一般的滤波器无法区分噪声和边缘,于是对其统一处理,因此很多情况下,滤波的同时,边缘也被处理模糊掉了。保边滤波器(Edge Preserving Filter)是指在滤波过程中能够有效的保留图像中的边缘信息的一类滤波器。

常见的保边滤波器有如下几种:双边滤波(Bilateral filter)、引导滤波(GuidedFilter)、加权最小二乘法滤波器(WLS)、非均匀局部滤波器(NLM)、双指数边缘平滑滤波器(BiExponentialEPF)、选择性模糊和表面滤波。

阅读更多

《债务危机》读书笔记(二)德国恶性通胀

1914年-1918年,第一次世界大战期间,各个参战国发行了大量的战争债券,逐步积累的本币债务导致一战中大部分参战国或早或晚终结了金本位制。对于德国来说,在德国投降和被强索战争赔款之前,大部分都是本币债务,债主是德国人。战争最后两年,以及战后《凡尔赛和约》,德国被迫借入大量外债,战争失败,寄希望于战争胜利后马克升值来处理这些外债的希望破灭了。

德国开始推行债务货币化,赖掉了国内大部分债务,同时马克疲软让德国尝到好处。虽然货币皮然不利于进口和偿还外债,但对一国经济和资本市场有刺激作用,这在经济疲软期是有益的。德国出口业和债券市场开始好转,呈现一片繁荣。

阅读更多