I'm working on an image processing problem that keeps giving me a complex number. Is it possible to get this number in some useable form? If I solve the problem in mathematica i get s approches 0. Please see code below. I'm getting an imaginary number on spos and sneg.
Xell = (P1(1)-(XSize/2))*pixelSx; %-0.2182 Xelr = (P2(1)-(XSize/2))*pixelSx; %-.0269 Xerl = (P4(1)-(XSize/2))*pixelSx; %.8085 Xerr = (P5(1)-(XSize/2))*pixelSx; %1.0348
% Yaw (The Rotation Angle of Y-Axis, Beta)
I2 = (((Xerl – Xerr)*(Xell – Xelr))/((Xell – Xerl)*(Xelr – Xerr))) Q = 1/sqrt(I2)-1; M = -1/(2+Q);
u_num = ((Xell – Xelr)*(Xerl – Xerr)*M*(Xelr – Xerl)-(M)^2*(Xell – Xerr)*(Xelr – Xerl)^2); u_div = ((Xell – Xelr)*(M*(Xelr – Xerl) – (Xerl – Xerr))); u = u_num/u_div;
spos = (Xelr – Xell + Xerl – Xerr – Q*Xell + Q*Xelr + Q*Xerl – Q*Xerr + (4*Q^2*Xell*Xerr – 4*Q^2*Xell*Xerl + 4*Q^2*Xelr*Xerl – 4*Q^2*Xelr*Xerr – 8*Q*Xell*Xerl + 8*Q*Xell*Xerr + 8*Q*Xelr*Xerl – 8*Q*Xelr*Xerr + Xell^2 – 2*Xell*Xelr – 2*Xell*Xerl + 2*Xell*Xerr + Xelr^2 + 2*Xelr*Xerl – 2*Xelr*Xerr + Xerl^2 – 2*Xerl*Xerr + Xerr^2)^(1/2))/(Q*Xell – Q*Xelr + Q*Xerl – Q*Xerr); sneg = -(Xelr – Xell + Xerl – Xerr – Q*Xell + Q*Xelr + Q*Xerl – Q*Xerr + (4*Q^2*Xell*Xerr – 4*Q^2*Xell*Xerl + 4*Q^2*Xelr*Xerl – 4*Q^2*Xelr*Xerr – 8*Q*Xell*Xerl + 8*Q*Xell*Xerr + 8*Q*Xelr*Xerl – 8*Q*Xelr*Xerr + Xell^2 – 2*Xell*Xelr – 2*Xell*Xerl + 2*Xell*Xerr + Xelr^2 + 2*Xelr*Xerl – 2*Xelr*Xerr + Xerl^2 – 2*Xerl*Xerr + Xerr^2)^(1/2))/(Q*Xell – Q*Xelr + Q*Xerl – Q*Xerr);
Beta0neg = atand(f/((sneg-1)*u)); Beta0pos = atand(f/((spos-1)*u));
Best Answer