Código de Java - Transformada de Radon

Filtrado por el tag: Math
Imágen de perfil
Val: 200
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Transformada de Radongráfica de visualizaciones


Java

Publicado el 2 de Enero del 2026 por Francisco Javier Rojas Garrido (27 códigos)
476 visualizaciones desde el 2 de Enero del 2026
Comparto mi primera versión Java de la transformada de Radon para imágenes.

La transformada de Radon es una transformada que transforma una función escalar del dominio cartesiano al dominio (ρ, θ).

La versión que comparto, transforma una función escalar en el plano (dos variables cartesianas, (x, y)).
Más en concreto trabaja con imágenes rectangulares.
La función que se maneja es el color de los píxeles en su forma de escala de grises.

Cada (ρ, θ) del dominio transformado representa una línea (en un formato parecido a coordenadas polares, desde el centro de la imagen).
El valor de la transformada para una coordenada (ρ, θ), resulta de la suma de los valores de los píxeles (luminancia) sobre esa línea dentro de la imagen.

El dominio de ρ es simétrico respecto al centro de coordenadas (va de -ρmax a ρmax).
El dominio de θ va de [0 a 180º) en grados sexagesimales, o de [0, pi) en radianes (media vuelta).

Esta transformada puede servir, por ejemplo, para detectar líneas largas dentro de una imagen, si se aplica sobre una imagen tipo Canny (detección de bordes) de tu imagen objetivo.
En esas condiciones, una línea en la imagen original resultará en una línea con mucha luminancia en la imagen tipo Canny, y el valor de la transformada de Radon en esa línea (representada por una (ρ, θ)), será muy alto.

Así pues, si tenemos una imagen negra (luminancia 0) con las aristas de un cuadrado pintadas en blanco (luminancia 1), la transformada de Radon dará un valor muy alto sobre las (ρ, θ) que representan a las líneas del cuadrado.

En un problema real no es tan fácil la detección, pero bueno, esta transformada es sólo una herramienta más.
Para detectar líneas, se puede hacer de otras maneras (creo que el algoritmo de HoughLines es más interesante para esa tarea, que creo que implementa la librería de openCV)

Puedes ver conocer más sobre la teoría de esta transformada en este enlace a la wikipedia: https://es.wikipedia.org/wiki/Transformada_de_Radon

Si la librería ha logrado captar tu atención, a lo mejor te apetece darle un vistazo a la página de mi sitio web donde la comparto:
https://www.frojasg1.com:8443/downloads_web/web/html/radon.html?origin=lawebdelprogramador


radonCollage.540x374
radonImage.540x374

Requerimientos

La librería es de código java-8.

La librería es autocontenida, no hace uso de otras dependencias.

Para hacer funcionar el ejemplo, hay que usar una jvm de java-11 (que incluye soporte para cargar imágenes tipo tiff).
Si quieres usar una jvm de java-8, también se puede hacer funcionar el ejemplo, pero habría que añadir la dependencia adecuada que permite cargar tiffs (creo que twelvemonkeys la implementa, aunque tiene licencia copyleft)

1.0

Publicado el 2 de Enero del 2026gráfica de visualizaciones de la versión: 1.0
477 visualizaciones desde el 2 de Enero del 2026
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

No he logrado subir el zip con el código a la página.

Incluyo aquí un enlace de descarga directa compartido desde mi sitio web personal, por si alguno se anima a descargarla.

https://www.frojasg1.com:8443/downloads_web/downloadServletv3?file=radon.v1.0&origin=lawebdelprogramador
1
2
3
4
5
No he logrado subir el zip con el código a la página.
 
Incluyo aquí un enlace de descarga directa compartido desde mi sitio web personal, por si alguno se anima a descargarla.
 
https://www.frojasg1.com:8443/downloads_web/downloadServletv3?file=radon.v1.0&origin=lawebdelprogramador



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7584