1

我正在尝试使用带有函数的 leptonica 图像库应​​用阈值

l_int32 pixOtsuAdaptiveThreshold()

我相信我已经成功使用了这个函数,但是正如你所看到的,它返回一个 int。我不知道如何从这里开始并将其转换为 UIImage 或将我传入的 PIX 对象转换为 UIImage?基本上我只想在应用阈值后返回 UIImage 。

这个函数的 API 可以在这里找到:http: //tpgit.github.io/Leptonica/binarize_8c.html#aaef1d6ed54b87144b98c72f675ad7a4c

有谁知道我必须做什么才能让 UIImage 回来?

谢谢!

4

1 回答 1

0

这是另一个将数据转换为图像的用户...将 二进制图像数据从 Web 服务读取到 UIImage

但如果可以的话,我会研究布拉德·拉森的超棒 gpu 图像过滤器可能更适合你https://github.com/BradLarson/GPUImage非常易于使用

添加了添加 GPUImage 框架的答案:对不起,如果您想继续使用第二个,如果您只需要所需的阈值效果,您可以使用 gpuimage 作为框架,并且在设置自适应阈值后我只是使用用于不同效果的开关盒或调用init,我使用滑块来控制效果或选择预定值,但代码最终像这样简单

 case GPUIMAGE_ADAPTIVETHRESHOLD:
    {
        self.title = @"Adaptive Threshold";
        self.filterSettingsSlider.hidden = NO;

        [self.filterSettingsSlider setMinimumValue:1.0];
        [self.filterSettingsSlider setMaximumValue:20.0];
        [self.filterSettingsSlider setValue:1.0];


        UIImage *newFilteredImage =  [[[GPUImageAdaptiveThresholdFilter alloc] init] imageByFilteringImage:[self.originalImageView image] ];
        self.myEditedImageView = newFilteredImage;
    }; break;
于 2013-06-22T10:38:57.480 回答