ybqjymy

radon变换就是图像在不同方向上的投影。

下图f(x,y)可以代表图像,R(x\')就是图像向右下方的投影。

数学上是按投影方向进行线积分,在图像领域就是按照投影方向累加像素就行了。

matlab中有radon函数,为了熟悉原理我又写了一个。

通过旋转图像映射,效率不怎么样。

canny后Lena:

45度投影:

代码如下:

main.m

 1 clear all; close all; clc;
 2 
 3 img=imread(\'lena.jpg\');
 4 ed=edge(img,\'canny\');
 5 
 6 r=Radon(ed,45);     %检测直线什么的,可以投影到0-179度上
 7 %r=radon(ed,45);   %系统自带
 8 
 9 figure;
10 plot(r)

Radon.m

1 function re=Radon(img,rotate)
2 
3     img=imrotate(img,rotate);   %没什么效率,实际中旋转投影方向比较好
4 
5     re=sum(img);  %已旋转后的图像按列求和
6 
7 end

 

分类:

技术点:

相关文章:

  • 2022-01-09
  • 2021-06-04
  • 2022-12-23
  • 2021-10-12
  • 2022-12-23
  • 2022-01-17
  • 2022-12-23
  • 2021-11-03
猜你喜欢
  • 2022-12-23
  • 2021-12-24
  • 2021-12-13
  • 2021-12-24
  • 2021-07-18
相关资源
相似解决方案