上一篇博客我们简单写了一个引导,还没有进入系统,在进入系统之前,我们有必要先了解下CPU的实模式和保护模式。我们的程序不加任何保护,直接运行在CPU上,称为实模式,16位实模式最大寻址空间为1M。CPU可以通过保护模式拓展寻址空间,并进行访问权限管理和校验,32位保护模式的寻址空间可以拓展到4G。在保护模式下物理内存、页、中断都会保护起来、不同特权级下IO端口也不能随意使用。
PengChao
限对比度自适应直方图均衡CLAHE
CLAHE,全称 Contrast Limited Adaptive Histogram Equalization,是一种用来做Tone Mapping的自适应直方图均衡算法,已经集成在opencv和matlab中。
在介绍CLAHE之前,先介绍下HE(直方图均衡)、AHE(自适应直方图均衡算法)、CLHE算法。
GradientShop介绍
GradientShop是在梯度域上对图像进行编辑的一个框架,通过该框架可以完成Sharpen、Relight、ToneMapping、Deblock、NPR Filter、DeFlickering等多种图像处理任务。这篇博客简单介绍GradientShop,着重介绍各项功能的实现过程。
坑没填完,先置顶提醒下自己0.0
在jupyter中使用imshow显示opencv图像
jupyter中用cv2.imshow打开窗口进行显示后不能点击关闭按钮,否则消息处理机制会导致python挂掉。那么只有用matplotlib来画了,由于numpy和opencv的rgb通道排列是反的,所以做一个转化就可以了,粘贴下面代码里的函数,直接调用就好。
图像融合(三)Exposure Fusion
上一篇博客介绍了Laplace Pyramid进行fusion,其实也就介绍了Exposure Fusion的基本原理。Mertens Exposure Fusion 是HDR图像合成上非常经典的算法。Exposure Fusion的多尺度图像融合同样借助Laplace Pyramid分解和重建,特别强调的是编辑laplace金字塔的过程,在计算亮度权重、对比度权重、曝光权重后将构建权重的高斯金字塔,然后进行拉普拉斯金字塔的重建,最后得到一张各部分曝光都很良好的图像。
图像融合(二)Laplace Pyramid
多频段的图像融合可以缓和图像亮度和纹理的突变,简单的说,就是构造laplace金字塔,通过对laplace金字塔进行编辑,之后再重建laplace金字塔,来得到融合图像的过程。
图像融合(一)Poisson Blending
泊松融合(Poisson Blending)又作 Seamless clone,用于将两幅图像“无缝”的融合起来,基本原理就是最优化一个方程,尽量在和base边界处保持相关的亮度,同时保留剪切过来图像的梯度,这样看起来两张图像就“无缝”拼合在一起了。因为该工具在opencv中已经存在,所以我们可以直接使用opencv体验其效果。这篇博简单介绍原理,以及感受效果。
通过VBA制作Excel田字格
制作Excel田字格的话,可以通过单元格格式+线条的方式快速制作,博主在玩儿VBA,也顺带编(摘)写(抄)了一个小工具,可以方便一键生成田字格。后面如果有更多有用的小功能的话再做一个插件来玩儿。
使用MatlabLib制作动画图表
制作简单的动态图表,用Matplotlib就可以了,Matplotlib中的FuncAnimation类可以通过一个迭代器不断创建图像帧,最后可以通过plt.show,或者直接save,将帧拼成动画保存下来。原理非常简单,博主简单做下记录,没有太多介绍。
前排放个参考链接,里面有更多炫酷的动图制作代码:Animatin-With-Matplotlib
永久关闭AWS并解除信用卡绑定
最近莫名其妙的收到一份美元信用卡扣费账单。万恶资本主义的血汗工厂——亚马逊——提供过12个月AWS的免费试用,即使停止了示例也会扣费,试用到期后没有提示自动扣除信用卡费用,AWS还不能删除默认信用卡绑定,即使注销账户还是有可能产生扣费,恶心程度堪比国内百度。
信用解绑这个问题很关键,研究了下解决AWS流氓扣费的办法,以供参考:
Nginx环境设置301跳转
本文提(摘)供(抄)四种nginx环境下实现301强制http跳转到https的方式,除了http转https之外,也可以修改rewrite规则实现各种301跳转。
Nginx配置文件修改地址: /usr/local/nginx/conf/vhost/domain_name.conf
使用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之后到同一点的问题,二是使用了特征金字塔,应该是对大位移有更鲁棒。
YOLO_V3从训练到部署
darknet是一个C语言实现的深度学习框架,几乎不依赖任何库,安装编译都很方便,训练好的模型可以直接在opencv上部署,堪称业界良心。这篇博客主要包含目标检测数据标注和预处理、yolo_v3代码编译、模型训练、在opencv上部署,都是简要的笔记。