Matlab - distancia entre recta y centro de un circulo

   
Vista:

distancia entre recta y centro de un circulo

Publicado por oliva Guillermo guilleoliva@gmail.com (1 intervención) el 03/09/2012 11:00:03
Buenos dias: necesito encontrar la distancia entre el centro de una circunferencia y una recta que pasa paralela al eje y,levantando la imagen desde un jpg como les muestro abajo.Si alguien me puede dar una mano les voy a estar agradecido.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
clear all, close all,
clc
foto1 = imread('imagenT.jpg');
 
figure(1),subplot(2,1,1)
imshow(foto1);
title('Imagen real')
 
GRIS=rgb2gray(foto1);
 
[m n]=size(GRIS);
figure(1),subplot(2,1,2)
imshow(GRIS);
title('Imagen gris');


Usando transformada de Hough obtengo el centro de la circunsferencia y detecto las lineas,lo que no se es como medir la minima distancia entre ambos.Saludos y gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Matlab
- Código fuente de Matlab
- Cursos de Matlab
- Temas de Matlab
- Chat de Matlab
información
Códigos de Matlab
- Fuerzas de Coulomb
- Fixed Pivot
- Elige una carta
Imágen de perfil de JOSE JEREMIAS CABALLERO

distancia entre recta y centro de un circulo

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 03/09/2012 19:05:47
Supongamos que el centro de la circunferencia que haz hallado sea C(h,k) y la ecuacion de la recta que haz hallado sea x=d paralela al eje Y, entonces la distancia mas corta es el segmento de recta cuyos extremos son p1=(d,k) y p2=(h,k),ya que la recta que pasa por estos puntos es la recta paralela al eje X y perpendicular al eje Y.
Como ya tienes los puntos (d,k) y (h,k), luego puedes aplicar la funcion norma de maltab es decir.
norm(p2-p1) y eso seria la distancia mas corta entre el centro de la circunferencia y la recta paralela al eje Y.
Como no dices como con que funcion haz hallado el centro de la circunferencia, asumo que lo haz hecho con imfindcircles() y para hallar las rectas verticales houghlines() y tambien la funcion edge() . Bueno a me ha salido con esos comandos.
Ahora si no te sale con las indicaciones que te doy, me envias tu codigo a mi correo o lo pones en el foro, para poder ayudarte mas.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion Matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar