>

위와 같이 엄청나게 감쌀 수있는 파노라마 이미지에서 "천장 패널"을 생성하는 알고리즘을 작성하려고합니다. 이미지 1 ~ 4는 큐브의 벽에 대해 직선 컷 아웃이지만 천장은 5a에서 5d 부분으로 합성해야한다고 가정하므로 천장이 더 복잡합니다. 누구나 의사 코드의 해결책을 알고 있습니까?

내 생각에 우리는 천장 타일의 좌표를 반복해야한다는 것입니다. 즉,

for y=0 to height
for x=0 to width
     colorofsomecoordinateonoriginalimage = some function (poloar coords?)
     set pixel(x,y) = colorofsomecoordinateonoriginalimage
next
next


  • 답변 # 1

    음 ... 나는 대학원에서 컴퓨터 비전 수업을 위해 한 번 그런 일을 기억합니다. 불가능하지는 않지만 많은 작업을 수행해야합니다. 한 가지 방법은 전체 제품 품질을 저하시키는 것입니다. 이것이 가장 쉬운 출발점입니다. 가장자리를 늘려야하는 정도에 따라 이미지 품질이 충분히 저하되면 이미지에 비선형 변형을 적용 할 수 있습니다. 이것은 아마도 실린더의 섹션을도 단위로 자른 다음 평면 맵 (메르카토르 또는 CADRG 등)을 만드는 데 사용 된 오래된 투영 중 하나를 적용하여 근사하는 것이 가장 좋습니다 ...하지만 픽셀을 보간해야합니다 , 최소한 대략적인 픽셀 평균을 구하십시오. 이것이 내가 생각할 수있는 최선의 방법입니다.

  • 답변 # 2

    단일 위치에서 사진을 찍어 사진을 찍어 파노라마를 생성 할 수는 없습니다. 글쎄, 당신은 하나의 수평 세트를 할 수는 있지만보기 흉하게 보일 것입니다 (일반적으로 가장자리의 왜곡을 피하기 위해 4 장 이상의 사진을 스티치합니다). 여기에는 y 방향에 더 많은 데이터가 있습니다. 이는 더 많은 사진을 의미하고 일부는 최종 이미지를 생성하는 멋진 투영을 의미합니다.

    가까운 파노라마를 보면 햇빛의 영역 경계가 똑 바르지 않다는 것을 알 수 있습니다. 파노라마가 큐브가 아닌 원통에 투사 되었기 때문입니다. 따라서 1/2/3/4가 큐브에 직접 매핑 된 것처럼 보이지는 않습니다.

    하단, 8 점을 고정 점에서 찍은 8 장의 사진으로 간주 할 수는 없습니다. 설득력이 필요한 경우 8 장의 사진을 찍어 서로 연결해보십시오. 맨 위 행을위한 것이며 맨 아래 행을 만들기는 쉽지만 스티치 된 영역에서 얼마나보기 흉한 지 볼 수 있습니다.

    이제 큐브 맵이 필요한 이유는 옵션의 변화입니다. 저렴한 환경 매핑 효과를 수행하기 위해 큐브 맵만 찾고 있다면 가장 간단한 방법은 원하는 가장자리를 매핑하고 그 사이에 선형 보간하는 임의의 함수를 찾는 것입니다. 완전히 잘못된 투영이지만 의도 한 목표에 적합하게 보이는 그림을 제공해야합니다.

    보다 정확한 것을 찾으려면 투영이 투영 된 방식을 알아야 큐브에서 다시 투영하기 전에 투영을 해제 할 수 있습니다.

    전혀, 큐브 맵을 생성하기 위해 파노라마를 처리하는 것보다 큐브 맵을 촬영하는 것이 훨씬 더 쉽지만 불가능할 수도 있습니다.

  • 이전 wear os - Android 시계 화면에서 맞춤 제작 된 드로어 블 이미지를 사용하는 방법
  • 다음 css - 유틸리티 생성을 위해 SASS에서 '빈'클래스 이름 허용