Radon变换的基本原理:
一个平面内沿不同的直线(直线与原点的距离为d,方向角为alfa)对f(x,y)做线积分,得到的像F(d,alfa)就是函数f的Radon变换。也就是说,平面(d,alfa)的每个点的像函数值对应了原始函数的某个线积分值。

Radon变换的基本思想:
Radon变换可以理解为图像在ρθ空间的投影,ρθ空间的每一点对应一条直线,而Radon变换是图像像素点在每一条直线上的积分。因此,图像中高灰度值的直线会在ρθ空间形成亮点,而低灰度值的线段在ρθ空间形成暗点。对直线的检测转化为在变换区域对亮点、暗点的检测。

具体的实现步骤如下:
读取图像,转换为灰度图像;
去除离散噪声点,边缘检测;
获取倾斜角度(最亮的点);
倾斜校正;
MATLAB代码实现如下
clear all 
clc
close all;
% -----采集与读取图像
[fn,pn,fi] = uigetfile('*.jpg','请选择所要识别的图片');          %1.读取图像
%fn表示图片的名字,pn表示图片的路径,fi表示选择的文件类型
bw = imread([pn fn]); % 读取图像 参数为图像名称和图像路径
subplot(121), imshow(bw);  %显示图像函数                     %2.显示原始图像
title('原始图像'); %显示原始图像 
%---------------------
qingxiejiao = rando_get(bw)                          %3.调用函数,获取倾斜角
bw1 = imrotate(bw,qingxiejiao,'bilinear','crop');        %4.图像进行位置矫正
%取值为负值向右旋转 并选区双线性插值 并输出同样尺寸的图像
subplot(122), imshow(bw1); % 显示修正后的图像
title('倾斜校正');

%%
function qingxiejiao=rando_get(I)
I1 = rgb2gray(I);                           %1.转换为灰度图像                
I2 = wiener2(I1, [5, 5]);                   %2.二维维纳滤波函数去除离散噪声点
I3 = edge(I2, 'canny');                     %3.利用边缘检测,减少干扰
%figure,imshow(I3);%可用来显示图像边界
theta = 1:180;                              %4.theta就是要投影方向的角度
[R,xp] = radon(I3,theta);          %5.沿某个方向theta做radon变换,结果是向量
%所得R(p,alph)矩阵的每一个点为对I3基于(p,alph)的线积分,其每一个投影的方向对应一个列向量
[r,c] = find(R>=max(max(R)));  %检索矩阵R中最大值所在位置,提取行列标 
% max(R)找出每个角度对应的最大投影角度 然在对其取最大值,即为最大的倾斜角即90度
J=c;  %由于R的列标就是对应的投影角度
qingxiejiao=90-c; %计算倾斜角
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
实现图片:

参考链接:
[https://blog.csdn.net/fengyhack/article/details/41873119]
[https://blog.csdn.net/qq_15971883/article/details/80537133]
--------------------- 
作者:小马_blgt 
来源:CSDN 
原文:https://blog.csdn.net/weixin_43958974/article/details/84845707 
版权声明:本文为博主原创文章,转载请附上博文链接!

MATLAB基于Randon变换的图像倾斜校正算法及实现相关推荐

  1. DCT变换编码matlab,基于DCT变换的图像压缩编码的MATLAB实现

    基于DCT变换的图像压缩编码的MATLAB实现 今天是一个信息化.网络化的时代,通过Internet可以获取全面的文字.图像.声音等信息,但是,图像信息需要占据大量的存储空间,给原始数 (本文共4页) ...

  2. 基于主轴变换的医学图像倾斜校正

    问题描述 在MRI扫描的时候,可能会由于病人体位的关系,出现扫描图像是倾斜的状况,如下图所示. 在特定的情况下,病人的倾斜状态会影响到后面我们数据的处理.比如在MRI头部自动定位通常是通过AC-PC连 ...

  3. matlab基于傅立叶变换的时域或频域算法计算多普勒频移,展示代码

    可以使用MATLAB的Fourier变换函数fft()来计算多普勒频移.示例代码:%% 计算多普勒频移% 加载信号 x = load('signal.mat');% 计算傅立叶变换 X = fft(x ...

  4. matlab 倾斜矫正,matlab图像倾斜校正

    4 图像颜色畸变校正介绍图像颜色畸变现象可以是由摄像器材导致,也可以是由于真实环境本身就偏 色导致,还有的是由于图像放置过久氧化.老化导致.无论其产生的原因如何, 其校正方法都是类似的.如果用 Mat ...

  5. Matlab实现基于二维伽马函数的光照不均匀图像自适应校正算法

    Matlab程序: %% % 基于二维伽马函数的光照不均匀图像自适应校正算法 % %% clc,close all; tic; im=imread('你的图片.jpg'); figure; imsho ...

  6. 基于MATLAB的数字图像K-L变换,基于DCT变换的图像编码方法研究

    分类号 密级 UDC注l 学 位 论 文 基于DCT变换的图像编码方法研究 (题名和副题名) 朱剑英 (作者姓名 指导教师姓名 副教授 中诱学位级别硕士 沦_义提交日期2004.1 专.业名称 通信与 ...

  7. python图像倾斜校正_图像倾斜矫正

    没有找到关于图像倾斜矫正的综述性文献,那就自己整理一下吧. 图像倾斜可以分为两种情况,一种是平面倾斜,这种情况下拍照设备与试卷平行,拍出来的图像只需要进行旋转即可完成矫正:另一种是Z轴倾斜,这种情况下 ...

  8. python图像倾斜校正_校正倾斜的文本

    有时候文本是倾斜的,则不利于文本识别,如下图所示,那么进行文本识别之前我们需要应用文本倾斜校正算法(text skew correction,deskewing text). 对于一幅包含旋转文本块的 ...

  9. hough变换检测直线 matlab,Matlab实现Hough变换检测图像中的直线

    Hough变换的原理: 将图像从图像空间变换至参数空间,变换公式如下: 变换以后,图像空间与参数空间存在以下关系: 图像空间中的一点在参数空间是一条曲线,而图像空间共线的各点对应于参数空间交于一点的各 ...

最新文章

  1. 李德毅院士:智能时代的农机驾驶——人工智能一百年
  2. Python全栈工程师(多继承、函数重写)
  3. ros(5)service client实现
  4. 浅谈Session与Cookie的区别与联系
  5. PHP代码审计11—逻辑漏洞
  6. VB.NET 教程_04_高级教程
  7. Codeforces 364D Ghd(随机化)
  8. ipad、iphone 怎么真机调试
  9. python 基于PHP在线音乐网站
  10. 实例化和初始化的区别
  11. Windows 10的TPM模块到底是不是美国全球监控体系的奠基石?
  12. 基于Java毕业设计新疆旅游专列订票系统源码+系统+mysql+lw文档+部署软件
  13. 日系赛璐璐鼻子上色教程,干货满满!
  14. Word 使用技巧大全
  15. Wiki 2.0 网站 (Wikia) 今日揭开面纱
  16. MacOS下载并配置gradle
  17. 2022最新前端面试题(vue方向)
  18. 一个人可以有多少个朋友
  19. 智能合约项目开发实例
  20. 20210101奥森版玫瑰花

热门文章

  1. canvas画一个圆锥
  2. ubuntu 16.04 开机开启小键盘数字键
  3. Oracle的 alter table table_name nologging; 的使用
  4. Win7 X64 SQL SERVER 2000企业管理器无法建立新表
  5. 副号显示无服务器,小升初||网报遇BUG,最全解决方案都在这里了
  6. Python面向对象子类中重用父类的属性
  7. 离开后再回原来的公司合适吗?
  8. 我的世界mod开发(6)无敌的护甲
  9. swift 学习-- 元组
  10. 5G手机占比逼近四成,华为和小米将加速5G普及