图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
原文链接:http://tecdat.cn/?p=13981
随着多媒体技术的不断发展,数码相机,高清拍照手机等多媒体设备己经在人们的生活中占据了越来越重要的地位。
通过采用图像处理技术,可以将数码设备采 集到的文字、图片等信息转化成其他信息形势输出,例如转化成音频输出己解决视 障患者的视力需求。但是,由于输入设备或某些其他因素不可避免地使得采集到的 文本图像或多或少会出现某种程度的倾斜。因此,倾斜图像校正是当前文本图像研 宄领域中十分重要的课题,尤其在数字化、自动化领域。比如,提高OCR(Optical Character Recognition)识别率从而提高文档自动化处理效率,车牌号码自动 识别与交通监视,手写体自动识别,名片自动归类等。
基于Hough变换的图像倾斜校正算法
利用Hough变换检测的边框,确定边框直线的倾斜角度,根据倾斜角度旋转,获得校正后的图像。具体步骤如下:
图像预处理。读取图像,转换为灰度图像,去除离散噪声点。 利用边缘检测,对图像中的水平线进行强化处理。 基于Hough变换检测车牌图像的边框,获取倾斜角度。 根据倾斜角度,对车牌图像进行倾斜校正。
我们通过matlab解答以下问题:
当相机倾斜拍照时
建立数学模型,并将A校正。
首先我们读取图像数据,显示原始彩色图像
clc; % 清除命令窗口。clearvars;close all; % 关闭所有数字(不包括imtool的数字。)imtool close all; % Close all imtool figures.workspace; % 关闭所有固定工具的数字fontSize = 20;format compact;baseFileName = '附件B.jpg';% 获取完整的文件名,并添加路径fullFileName = fullfile( baseFileName);rgbImage = imread(fullFileName);% 获取图像的尺寸。 numberOfColorBands应该为3。[rows columns numberOfColorBands] = size(rgbImage);% 显示原始彩色图像subplot(2, 2, 1);imshow(rgbImage, []);title('Original Color Image', 'FontSize', fontSize);
确保它是8位灰度,而不是24位真彩色。通过阈值二值化图像。
% 确保它是8位灰度,而不是24位真彩色。grayImage = rgb2gray(rgbImage);% 通过阈值二值化图像。binaryImage = grayImage > 128;
用连接性标记每个点,因此我们可以对其进行测量提取一个方向
% 用连接性标记每个斑点,因此我们可以对其进行测量%获取所有blob属性。%仅提取一个方向%旋转图像。% 显示旋转的图像。subplot(2, 2, 3);imshow(rotatedImage, []);title('Rotated Image', 'FontSize', fontSize);
同时我们可以得到倾斜校正的角度。
当相机垂直拍照时
根据B,建立数学模型,将B校正, 求出相机倾斜的角度。
同样的,我们可以对垂直拍照的图片进行矫正。
将C校正,并说明相机相对于物体的夹角。
相关文献
2.matlab中的偏最小二乘回归(plsr)和主成分回归(pcr)
6.matlab中的偏最小二乘回归(plsr)和主成分回归(pcr)
9.matlab实现mcmc的马尔可夫切换arma-garch模型估计
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法