이미지 크기를 조정하면 내장 카메라 매트릭스에 어떤 영향이 있습니까?


18

크기 HxW의 이미지로 알려진 카메라 매트릭스 (내재적 매개 변수와 외적 매개 변수 모두 알고 있음)가 있습니다. (필요한 계산 에이 행렬을 사용합니다).

더 작은 이미지를 사용하고 싶습니다. (원본의 절반). 동일한 관계를 유지하려면 행렬을 어떻게 변경해야합니까?H2×W2

나는이 고유 매개 변수 (같은 , 회전 및 번역)RKRT

cam=K[RT]

K=(ax0u00ayv0001)

K 는 3 * 3이며, , , 및 에 0.5 (이미지의 크기가 조정 된 요소) 를 곱할 것이라고 생각 했지만 확실하지 않습니다.a y u 0axayu0v0

답변:


13

참고 : 크기가 조정 된 이미지에서 사용하는 좌표에 따라 다릅니다. 나는 당신이 0과 같은 시스템을 사용하고 있다고 가정하고 ( C와는 달리 Matlab) 0은 0으로 변환됩니다. 또한 좌표 사이에 치우침이 없다고 가정합니다. 비뚤어지면 곱해야합니다.

짧은 대답 : 인 를 사용한다고 가정하면 을 곱해야합니다 0.5.'=2,V'=V2엑스,와이,0,V0

자세한 답변 월드 좌표 의 점 를 카메라 좌표 은 다음과 같습니다.(엑스,와이,,1)>(,V,에스)

(엑스000와이V0001)(아르 자형11아르 자형12아르 자형13엑스아르 자형21아르 자형22아르 자형23와이아르 자형31아르 자형32아르 자형330001)(엑스와이1)

여기서 , 좌표가 균일하기 때문에.(,V,에스)>(/에스,V/에스,1)

요컨대 이것은 기록 될 수 두 행렬의 곱 위에서 언급 한, 그리고 상기 I '인 행렬 열 . (제품은 스칼라 제품입니다).=미디엄1미디엄,V=미디엄2미디엄
미디엄미디엄나는미디엄

이미지 크기 조정은 다음과 같이 생각할 수 있습니다.

'=/2,V'=V/2

그러므로

'=(1/2)미디엄1미디엄V'=(1/2)미디엄2미디엄

행렬 형식으로 다시 변환하면 다음이 가능합니다.

(0.50000.50001)(엑스000와이V0001)(아르 자형11아르 자형12아르 자형13엑스아르 자형21아르 자형22아르 자형23와이아르 자형31아르 자형32아르 자형330001)(엑스와이1)

어느 것이

(0.5엑스00.5000.5와이0.5V0001)(아르 자형11아르 자형12아르 자형13엑스아르 자형21아르 자형22아르 자형23와이아르 자형31아르 자형32아르 자형330001)(엑스와이1)

자세한 내용은 Forsyth , 3 장-기하 카메라 보정을 참조하십시오 .


설명 주셔서 감사합니다 !!! 제로 기반 시스템의 의미가 확실하지 않습니다. matlab을 사용하고 있습니다. 다른 조정이 필요합니까?
matlabit

@matlabit, Matlab을 사용하는 경우 단일 기반 인덱싱이 있으므로 인 변환을 사용해야 합니다 (첫 번째 요소는 0이 아니라 1입니다. 이 경우 관련 행렬을 계산하십시오. 하위 픽셀 정확도가 필요하지 않으면 무시하고 공식을 사용하면됩니다. '=(1)/2+1,V'=(V1)/2+1
Andrey Rubshtein

8

Andrey는 자신의 솔루션에서 0이 0으로 변환되었다고 가정합니다. 픽셀 좌표를 사용하는 경우 이미지 크기를 조정할 때 사실이 아닐 수 있습니다. 실제로해야 할 유일한 가정은 이미지 변환을 3x3 행렬로 나타낼 수 있다는 것입니다 (Andrey가 설명했듯이). 카메라 매트릭스를 업데이트하려면 이미지 변환을 나타내는 매트릭스를 미리 곱하면됩니다.

[new_camera_matrix] = [image_transform]*[old_camera_matrix]

예를 들어, 이미지의 해상도를 인수 만큼 변경해야하며 0 인덱스 픽셀 좌표를 사용한다고 가정하십시오. 좌표는 관계에 의해 변환됩니다2

엑스'=2(엑스+.5).5

와이'=2(와이+.5).5

이것은 행렬로 나타낼 수 있습니다

(2021.50221.5001)

최종 카메라 매트릭스는

(2021.50221.5001)(엑스000와이V0001)


2

1
요점은 픽셀 "0, 0"의 중심이 실제로 "0, 0"(= 픽셀의 왼쪽 상단 모서리)이 아니라 "0.5, 0.5"에 있다고 생각합니다. 따라서 변환 전후의 오프셋을 고려해야하며 스케일링 계수에 관계없이 계수는 항상 0.5입니다.
Jan Rüegg

네 맞아요
Hammer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.