현재 오프라인 서명 확인 작업을하고 있습니다. 그래서, 지금하고 싶은 것은 특정 서명 이미지에 대한 회전의 구체적인 가치를 찾는 것입니다. 이 경우 가로 축과 함께 서명의 기준선을 정규화하려고합니다.
. 당신은 코드에서 볼 수 있듯이
좀 코딩을하려고 노력했습니다Matlab에서 이미지를 자동으로 회전하는 방법은 무엇입니까?
v1(1) = column2 - column1;
v1(2) = row2 - row1;
v2(1) = column2 - column1;
v2(2) = row1 - row1;
x1 = v1(1);
y1 = v1(2);
x2 = v2(1);
y2 = v2(2);
dotproduct = (x1*x2 + y1*y2);
v1mag = sqrt(x1*x1 + y1*y1);
v2mag = sqrt(x2*x2 + y2*y2);
costheta = dotproduct/(v1mag*v2mag);
angle = acos(costheta);
angleDeg = rad2deg(angle);
angleDeg = uint8(angleDeg);
angleDeg
%B = imrotate(invImg,-(angleDeg),'bilinear');
는 변수 'angleDeg는'회전 각도의 값을 보유하고 있습니다. 전에는 imrotate() MATLAB을 사용했지만 문제는 'angleDeg'변수를 호출하는 대신 수동으로 각도 값을 입력해야한다는 것입니다. imrotate() 옆에 각도 값을 보유하는 변수를 호출하여 이미지를 회전하는 다른 방법/알고리즘이 있습니까?
왜 회전 인수를'uint8'로 변환합니까? – Shai
Shai has it - angleDeg가 음수 값을 취할 수있는 형식 인 경우 imrotate를 호출하는 방식에는 아무런 문제가 없습니다. '-angleDeg'의 출력을 확인하면 문제가 나타납니다. – nkjt
나에게 도움을 주신 모든 분들께 감사드립니다. 내가 바보 같은 실수를 저지른 것처럼 보입니다. 코드가 이제는 잘 작동합니다. –