2012-02-01 1 views
0

나는 매우 작은 수의 이미지 (360x192)를 가지고 있으며, DOS 2D 컴퓨터 게임의 스크린 샷으로 순서대로 사용됩니다. 그들은보기 흉한 겹침이 있고 나는 그들을 하나의 큰 합성물로 함께 꿰매고 싶습니다. 매우 자연 스럽기 때문에 각각의 후속 이미지는 다음 또는 이전 이미지보다 픽셀 완벽한 이미지에 적합합니다. 회전이 없기 때문에 스트레칭이나 왜곡이 필요하거나 바람직합니다.많은 디지털 이미지를 회전하거나 늘리지 않고 함께 꿰맬 수있는 소프트웨어가 있습니까?

사진 파노라마를 함께 묶을 수있는 소프트웨어가 많이 있습니다. 그러나 슬프게도 모든 사람들은 명시 적으로 지시하지 않을 때에도 약간의 왜곡을 적용합니다.

픽셀 완벽한 스티칭을 시도 할 소프트웨어가 있습니까? 이 작업을 수행하는

+0

쉽게 프로그램을 작성할 수 있습니다. 어떤 언어를 사용할 수 있는지 알려주십시오. –

+0

꽤 많은 펄 (Perl)입니다. 나는 그것을 고려했지만 실제로 어디서부터 시작해야할지 몰랐습니다. – Mithaldu

+0

죄송합니다. Perl은 내가 완전히 단서가없는 부분 중 하나입니다. 질문에주의를 기울이기 위해 태그를 추가했습니다. –

답변

2

티카 8 기능 기능 :

ImageAlign[img1, img2, "Transformation" -> "Translation"] 
FindGeometricTransform[img1, img2, "Transformation" -> "Translation"] 

옵션 "변환"을 설정하면 "는 번역은"당신은 결과 변환이 "왜곡"의 당신이 언급되어 있지 것이라는 점을 보장합니다. 문서에서

더 예 :

http://reference.wolfram.com/mathematica/ref/ImageAlign.html

http://reference.wolfram.com/mathematica/ref/FindGeometricTransform.html

나는 하나가 펄 티카를 연결할 수 있습니다 알고 있지만, 나는 아직 그것을 시도하지 않았습니다.

편집 : 보내 주신 링크를 사용하여 다음과 같이 작성했습니다. 유일한 문제는 미리 출력 크기를 지정해야한다는 것입니다.주의 깊게 살펴 보았습니다. 처음 10 개의 이미지 만 시도했습니다.

directory = "~/Downloads/done/"; 
files = FileNames["*.bmp", directory]; 

canvas = ImagePad[Import[files[[1]]], {{100, 100}, {500, 100}}, Transparent]; 
Do[ 
    i = Import[f]; 
    fun = FindGeometricTransform[canvas, i, "Transformation" -> "Translation"]; 
    If[[email protected] === FindGeometricTransform, 
     Continue[] 
    ]; 
    canvas = ImageCompose[ 
       canvas, 
       ImagePerspectiveTransformation[i, fun[[2]], DataRange -> Full, PlotRange -> Transpose[{{0, 0}, ImageDimensions[canvas]}], Padding -> Transparent], 
       {1, 1, -1}], 
{f, files[[;; 10]]}] 
파노라마 스티칭을 할 수있는 결정적인 라이브러리의

enter image description here

+0

제안 해 주셔서 감사합니다. 나는 그것을 시도 할 것이다. :) – Mithaldu

+0

FindGeometricTransform은 실제로 잘 작동하며 밝기 차이를 처리 할 수도 있습니다. 그러나 ImageCompose로 물건을 조립할 때, 결과 이미지는 수직으로가 아니라 수평으로 만 확장됩니다. 어떠한 제안? – Mithaldu

+0

나는 우리가 원하는 결과에서 아주 가깝다고 느낍니다. 최종 작품의 정확한 구문을 도울 수 있도록 두 개의 이미지를 게시하고 싶을 수도 있습니다. 그렇지 않으면 http : //library.wolfram의 프리젠 테이션 슬라이드 # 18에있는 이미지 스티칭 예제를 통해 이점을 얻을 수 있습니다.co.kr/infocenter/Conferences/7967/ –

1

하나는 Panorama Tools입니다. Perl에서 포트하거나 호출 할 수 있습니다.

사양에 차이가 있음에 유의하십시오. 이미지가 100 % 직선형이 아닌 경우 (즉, 이미지와 동일한 크기의 이미 저로 1 : 1로 찍은 경우) 렌즈 왜곡을 보정해야합니다. 사진을 정확하게 (픽셀 단위로) 결합하려면 이미지에 왜곡 보정이 필요합니다.

+0

나는 X와 Y에서만 옵티 마이저를 실행할 때조차도 그것을 시도했다. 서브 픽셀 이동과 yaw/pitch/rotation을 할 것이다. 또한 내 이미지는 2D 컴퓨터 게임의 스크린 샷입니다. 어떤 lense도 관여하지 않았다. 나는 그것에 대한 나의 질문을 분명히했다. – Mithaldu

+0

이미지 조정을하지 않도록 Panotools를 설정할 수도 있습니다. 나는 평평한 침대 스캔을 함께이 모드로 사용했습니다. –

+0

사용한 설정에 대해 자세히 설명해 주시겠습니까? – Mithaldu

관련 문제