2012-09-17 58 views
0

enter image description here如何合併透視圖像(3D Transform)?

如何合併這兩個圖像(見附圖)。我使用下面的代碼。它適用於普通圖像而不是3D變換圖像。如何處理這個問題。我搜索了很多次,仍然沒有得到正確的結果。請幫幫我。提前致謝。

UIImage *mergedImage; 
UIGraphicsBeginImageContext(backgroundImageView.frame.size); 
[backgroundImageView.layer renderInContext:UIGraphicsGetCurrentContext()]; //bacgroundImageView here 
mergedImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
+0

我看到您在某處使用我的GPUImage框架(這些是我隨該框架提供的示例圖像)。爲什麼不使用混合過濾器,結合轉換過濾器,而不是使用UIViews? –

回答

0

您可以創建一個包含失真的圖像放在上面,(與圖像爲0%的α-背景),這樣你可以使用你上面的代碼融合了圖像的CGImageRef

所以你真正想要的是如何將3D變換應用於圖像。更確切地說,當你用自己的語言尋找「視角」時,你正在尋找如何將單應性映射到圖像。

CoreImage programming guide指定CIPerspectiveTransform是要走的路,不幸的是,這不適用於iOS iOS 5.1以上版本。

所以你只剩下幾個選擇:

  • 如果你只想顯示結果交融,而不是操縱它,你可以在彼此的頂部使用兩個UIImageView s時,一個包含透視圖像使用被改造設計巧妙CATransform3D

  • 如果你絕對需要融合的圖像,您將需要使用另一個框架,例如OpenCVwarpPerspective()是你正在尋找的功能)或OpenGL ES

+0

感謝Olotiar ... – Mani

0

不幸的是,renderInContext:只使2D變換變平。它不能將應用於圖層的3D變換平坦化。這是沒有辦法的。

+0

感謝sudo rm -rf ...任何其他的想法...我想合併圖像..怎麼辦? – Mani