gpt4 book ai didi

ios - 自动增强图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:11:44 26 4
gpt4 key购买 nike

我需要在我的代码中使用苹果的自动增强图像。我找到了苹果展示的例子,但我无法让它发挥作用。我实际上不确定我做错了什么。

这是苹果推荐的:AutoEnhanceCode

这是我正在做的(imageFinal 是我想要增强的 UIImage):

- (IBAction)enhance:(id)sender {
CIImage *myImage;
CIImage *image = [imageFinal CIImage];
NSDictionary *options = [NSDictionary dictionaryWithObject:[[image properties]valueForKey:kCIImageProperties] forKey:CIDetectorImageOrientation];
NSArray *adjustments = [myImage autoAdjustmentFiltersWithOptions:options];
for (CIFilter *filter in adjustments){
[filter setValue:myImage forKey:kCIInputImageKey];
myImage = filter.outputImage;
}

我得到的错误是:不兼容的指针类型将“const CFStringRef”(又名“const struct __CFString *const”)发送到“NSString *”类型的参数

我真的不知道怎么用这个kCGImagePropertyOrrientation。我只想应用那个简单的增强。

干杯。

最佳答案

这是一个用于自动增强 UIImage 的 Swift 版本

extension UIImage {
func autoEnhance() -> UIImage? {
if var ciImage = CIImage.init(image: self) {
let adjustments = ciImage.autoAdjustmentFilters()
for filter in adjustments {
filter.setValue(ciImage, forKey: kCIInputImageKey)
if let outputImage = filter.outputImage {
ciImage = outputImage
}
}
let context = CIContext.init(options: nil)
if let cgImage = context.createCGImage(ciImage, from: ciImage.extent) {
let finalImage = UIImage.init(cgImage: cgImage, scale: self.scale, orientation: self.imageOrientation)
return finalImage
}
}
return nil
}
}

用法:

let autoEnhanced = image.autoEnhance() // returns optional UIImage

关于ios - 自动增强图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18221976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com