图像倾斜矫正

理论

没有找到关于图像倾斜矫正的综述性文献,那就自己整理一下吧。

图像倾斜可以分为两种情况,一种是平面倾斜,这种情况下拍照设备与试卷平行,拍出来的图像只需要进行旋转即可完成矫正;另一种是Z轴倾斜,这种情况下拍照设备与试卷存在一定的角度,拍出来的图像要先进行透视变换,然后再进行旋转等操作才可以完成矫正。

图像倾斜矫正关键在于根据图像特征自动检测出图像倾斜方向和倾斜角度。

对于平面倾斜,先利用边缘(轮廓)检测算法算法找到图像的边界,然后利用Radon变换法(基于投影的方法)Hough变换法、线性回归法等找到倾斜角度,然后再利用仿射变换进行旋转。

对于Z轴倾斜,先利用边缘(轮廓)检测算法找到图像的边界,然后利用透视变换把视平面上的点投影到现实平面,然后再利用仿射变换进行旋转。

图像去噪

理论

噪声

噪声在图像上常表现为一引起较强视觉效果的孤立像素点或像素块。一般,噪声信号与要研究的对象不相关,它以无用的信息形式出现,扰乱图像的可观测信息。通俗的说就是噪声让图像不清楚。

图像常见噪声基本上有四种:高斯噪声,泊松噪声,乘性噪声,椒盐噪声。

令f(x,y)表示原始图象,g(x,y)表示图象信号,n(x,y)表示噪声。

根据噪声和信号的关系可将其分为三种形式:
1、加性噪声,此类噪声与输入图象信号无关,含噪图象可表示为f(x,y)=g(x,y)+n(x,y),信道噪声及光导摄像管的摄像机扫描图象时产生的噪声就属这类噪声;
2、乘性噪声,此类噪声与图象信号有关,含噪图象可表示为f(x,y)=g(x,y)+n(x,y)g(x,y),飞点扫描器扫描图象时的噪声,电视图象中的相关噪声,胶片中的颗粒噪声就属于此类噪声;
3、量化噪声,此类噪声与输入图象信号无关,是量化过程存在量化误差,再反映到接收端而产生。

更多内容参考图像噪声简介浅析“高斯白噪声”,“泊松噪声”,“椒盐噪声”的区别

图像二值化

理论

图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。

一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。这是研究灰度变换的最特殊的方法,称为图像的二值化(Binarization)。

常见的二值化方法有三种,分别是固定阈值法、平均值法、自适应阈值法和直方图法。

固定阈值法就是设定一个固定阈值K,小于等于K的像素值设为0(黑色),大于K的像素值设为255(白色)。

平均值法计算像素的平均值K,然后扫描图像的每个像素值,小于等于K像素值设为0(黑色),大于K的像素值设为255(白色)。

自适应阈值法对平均值法进行改进,规定一个区域大小,求区域平均值作为阈值K,然后区域中的像素值与K进行比较。

直方图方法主要是发现图像的两个最高的峰,然后阈值K取值在两个峰之间的峰谷最低处。图像的直方图用来表征该图像像素值的分布情况。用一定数目的小区间(bin)来指定表征像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目。

更多内容参考图像的二值化之python+opencvopencv python图像二值化

图像灰度化

前言

离研究生毕业只有六个月了,毕业设计也该动手了。去年开题,选择了《基于图像处理的客观题自动阅卷系统的设计与实现》这个题目。今年中期,考虑了很久,最终还是没有换题目。想要做AIOps,但是自己基础薄弱,也没有特定的方向,到了六月份也不一定能完成。保险起见,还是做阅卷系统吧!

阅卷系统主要有五个方面的研究内容,分别是图像预处理、目标检测、图像分割、手写识别和移动Web。其中图像预处理包括试卷图像的灰度化、二值化、去噪、倾斜矫正等;目标检测是为了定位学号和答案的位置,并且提取出这些信息;图像分割是为了分割学号和多选题的字符;手写识别是为了识别手写字符,包括数字和字母;移动Web是为了方便老师随时随地使用系统。

本文,就来研究一下图像的灰度化。

使用Libvirt进行虚拟机在线迁移

前言

《虚拟机在线迁移实验》一文中提到,迁移过程中的downtime不合理,但是没有找到原因。

本文,我们来使用Libvirt进行虚拟机在线迁移,如果downtime在毫秒级,那么说明问题出在OpenStack上。参考An analysis of the performance of live migration in Openstack的评论部分,可以发现有人遇到的同样的问题,downtime远大于1s。作者的猜测是libvirt的设置引起的,也可能是由于迁移后网络适应速度较慢造成的。