【问题标题】:Crop an image into a rectangle shape when the cropping points are on any shape which has 4 points - IOS/Swift当裁剪点位于任何具有 4 个点的形状上时,将图像裁剪为矩形 - IOS/Swift
【发布时间】:2023-03-07 13:23:01
【问题描述】:

在我的项目中,我想在图像上手动设置 4 个裁剪点,并根据设置点裁剪该图像。例如看下图。

像这样,我想要的只是根据该路径裁剪图像,裁剪后它应该是一个矩形。这就像 CamScanner IOS 应用程序中的图像裁剪一样。如果有人知道如何做到这一点,任何帮助将不胜感激。

【问题讨论】:

  • 我的answer here 可能有用 - 尽管将结果映射到矩形要复杂得多。
  • 我会尽快尝试您的解决方案。谢谢@originaluser2
  • @originaluser2 裁剪完成。我无法通过的事情是将裁剪的东西显示为矩形。

标签: ios swift uiimage crop


【解决方案1】:

这里有非常好的 github 项目,它具有与您想要的相同的功能,但这是在 Objective-C 中,您可以将此代码转换为 swift 检查以下链接:

https://github.com/jberlana/JBCroppableView

它的输出是:

更新

我刚刚使用 Swift 中的 JBCroppableView Objective-C 类实现在 Swift 中制作了一个 Demo。从以下下载并根据您的要求使用。

https://github.com/nitingohel/NGCropview

Swift + Objective-C 的结合

输出

【讨论】:

  • 我需要将裁剪后的形状映射到矩形中。这个可以吗??
  • 您需要了解其爆炸的逻辑并将其应用为您的要求。
  • 好的,我试试。谢谢顺便说一句:)
  • 将进行演示,让您知道是否有任何工作:D
  • 嗨,检查我的更新答案,我使用 Objective-C 文件做了一个快速演示
【解决方案2】:

我认为您需要几何变换。

如果你打算使用 opencv,这里有一个很好的例子: http://www.pyimagesearch.com/2014/08/25/4-point-opencv-getperspective-transform-example/

【讨论】:

  • 是的,实际上我想要的是透视校正。我使用名为 CIPerspectiveCorrection 的 CoreImage 过滤器完成了它。感谢朋友的帮助。
  • 不客气。是的,CIPerspectiveCorrection 是 iOS 的不错选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-25
  • 1970-01-01
  • 1970-01-01
  • 2013-10-05
  • 2014-12-12
相关资源
最近更新 更多