Ear Image Processing - Encontrar o ponto de interseção de linha e curva no MATLAB

!1Eu tenho a saída de borda Canny de uma orelha ... conectei os dois limites mais distantes com uma linha (verde). Agora eu quero desenhar um normal do ponto médio desta linha para o limite externo (lado esquerdo). O código que escrevi me ajuda a traçar um normal, mas quero que a linha vermelha atenda exatamente ao limite branco. Também quero o ponto de interseção no ponto em que ele se encontra. Eu também pensei em outro método para o mesmo. Alterando 50 a 60 pixels (no código), a linha vermelha cruza o limite branco. Se obtiver o ponto de interseção do mesmo, posso facilmente traçar a linha do comprimento desejado. Encontrei algum código na internet e no Mathworks, mas é para interseção de 2 linhas .... Alguém pode por favor ajudar.

for i=1:numel(p)
    x = [ p{i}(1), p{i}(3)];
    y = [p{i}(2), p{i}(4)];
   line(x,y,'color','g','LineWidth',2);
   m = (diff(y)/diff(x));
   minv = -1/m;
   line([mean(x) mean(x)-50],[mean(y) mean(y)-50*minv],'Color','red')
   axis equal

end ;

! [] [2]

questionAnswers(1)

yourAnswerToTheQuestion