Iphone 像camscanner一样裁剪图像
我被我的应用程序功能卡住了。我想要裁剪功能类似于Cam扫描仪裁剪。 CAM-SCANNER的屏幕为: 我创建了类似的裁剪视图 我获得了四个角的CG点。 但如何获得倾斜的裁剪图像。Iphone 像camscanner一样裁剪图像,iphone,objective-c,uiimage,core-animation,crop,Iphone,Objective C,Uiimage,Core Animation,Crop,我被我的应用程序功能卡住了。我想要裁剪功能类似于Cam扫描仪裁剪。 CAM-SCANNER的屏幕为: 我创建了类似的裁剪视图 我获得了四个角的CG点。 但如何获得倾斜的裁剪图像。 如果可能的话,请给我一些建议。我认为有两种可能性。第一个是计算使图像倾斜的变换矩阵,并将其安装在视图图层的CATTransform3D属性中 这很简单,假设您知道如何形成进行拉伸的变换矩阵。我从未学会如何构造拉伸或扭曲图像的变换矩阵,因此我无法提供任何帮助。我建议谷歌搜索变换矩阵和拉伸/倾斜 另一种方法是将正在裁剪
如果可能的话,请给我一些建议。我认为有两种可能性。第一个是计算使图像倾斜的变换矩阵,并将其安装在视图图层的CATTransform3D属性中 这很简单,假设您知道如何形成进行拉伸的变换矩阵。我从未学会如何构造拉伸或扭曲图像的变换矩阵,因此我无法提供任何帮助。我建议谷歌搜索变换矩阵和拉伸/倾斜
另一种方法是将正在裁剪的图像部分转换为OpenGL纹理,并将纹理映射到输出。实际的纹理绘制部分将很容易,但有大约1000公斤的OpenGL设置要做,还有很多东西需要学习才能完成。如果你想继续这条路线,我建议你使用新的iOS 5 GLKit搜索简单的2D纹理示例。这是一个透视变换问题。在这种情况下,它们将在二维平面中绘制三维投影 因为,第一个图像具有四边形的选择角,当您将其变换为矩形时,您需要添加更多像素信息()或删除一些像素 所以现在的实际问题是向裁剪后的图像中添加额外的像素信息,并将其投影以生成第二幅图像。它可以通过多种方式实现: 通过应用透视变换矩阵和插值,您可以自己实现它 你可以用 你可以用。 .. 还有更多的方法来实现它 我已经用OpenCV解决了这个问题。OpenCV中的以下函数将帮助您实现这一点 第一个函数将使用源和目标投影坐标计算变换矩阵。在您的例子中,src数组将具有来自所有角点的CGPoint值。dest将具有矩形投影点,例如{(0,0)(200,0)(200150)(0150)} 一旦你们得到了变换矩阵,你们就需要把它传递给第二个函数。你可以参观这个 OpenCV库可能没有其他替代品,但它有很多图像处理算法
带有opencv库的iOS应用程序可在以下网址获得:使用链接中给出的代码: 尝试使用CgContextOclip或CGContextClosePath,而不是使用CGRect和CGContextClipToRect 虽然我没试过这个。。。但我尝试在ToucheSBegind和TouchesMoved以及TouchesEnd事件上使用CGContextClosePath绘制闭合路径
希望这能给你的问题提供更多的见解…嗨,你能告诉我你是如何实现上述事情的吗?如果可能的话,你能分享一些教程或有用的链接吗?嗨,开发人员,你找到这个问题的解决方案了吗?请为这个功能添加代码。我需要像这样精确。嘿,你怎么能得到这些正方形的CG点,这样我们就可以画出裁剪的uiview点