【问题标题】:How to detect transparent area in image?如何检测图像中的透明区域?
【发布时间】:2014-04-22 19:02:13
【问题描述】:

我研究了将许多图像合并到 iphone 中的图像。但我对此有一些问题。我想检测具有白色背景的透明区域。我认为在此期间可以在该区域周围获得一个 CGRect 矩形,之后我会将图像拖到透明区域中,但我不知道如何识别它。因此,如果我检测到此图像中的所有透明区域,我将有一个 CGRect 数组。

你可以看到我的图片:

请帮帮我,非常感谢!!

【问题讨论】:

    标签: ios objective-c image


    【解决方案1】:

    在检测透明像素方面,您可以按照Technical Q&A QA1509 中的说明访问像素缓冲区,然后遍历像素缓冲区以查找alpha 通道值小于1.0 的像素。

    但要由此推断以编程方式构建与连续透明像素相对应的CGRect 数组并非易事。如果您对透明区域的性质(例如圆形)进行简化假设,这是一个非常容易处理的小问题,尽管与许多圆圈相交的细圆角矩形会使问题复杂化。

    如果您的图像具有透明区域是预定义的,我可能只是手动定义它们,而不是通过编程确定它。

    【讨论】:

    • 感谢罗伯!但是在我的情况下,我有很多需要检测的图像。所以当我手动检测它时,我认为它会丢失很多时间。这是一个应用程序,您可以看到如何将图像合并到其他图像中的透明。 itunes.apple.com/app/casetagram/…
    • @LoiTruong 很好,然后以编程方式进行。它没有那么坏。我建议您首先掌握像素缓冲区检索和透明像素检测,然后在熟悉这些基础知识后再处理CGRect 检测算法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    相关资源
    最近更新 更多