在拍摄具有自定义曝光时间的iPhone 12系列和国际标准化组织的照片时,与iPhone 11 &X系列相比,结果包含了大量的噪声。
可以通过下列方式之一设置自定义曝光持续时间& ISO:
AVCapturePhotoOutput *photoOutput;
// ...
NSArray *bracketedSettings = @[[AVCaptureManualExposureBracketedStillImageSettings manualExposureSettingsWithExposureDuration:CMTimeMake(1, 7000) ISO:50]];
AVCapturePhotoBracketSettings *photoSettings = [AVCapturePhotoBracketSettings photoBracketSettingsWithRawPixelFormatType:0 processedFormat:nil bracketedSettings:bracketedSettings];
[photoOutput capturePhotoWithSettings:photoSettings delegate:self];
AVCaptureDevice *captureDevice;
// ...
[captureDevice setExposureModeCustomWithDuration:CMTimeMake(1, 7000) ISO:50 completionHandler:^(CMTime syncTime) {
// capture photo
}];
这些方法中的任何一种都会在iPhone 12系列上产生更嘈杂的照片。使用超广角镜头会达到最坏的效果。
这示例项目使用不同曝光时间的括号内设置(1/7200、1/1600、1/400、1/100、1/24、1/12、1/6、1/3、1/2)和ISO设置为50来捕获9张照片。最吵的是1/100和1/24:
iPhone 11 Pro 1/24
iPhone 12 Pro 1/24
我已经尝试过的事情:
AVCapturePhotoQualityPrioritizationSpeed
、AVCapturePhotoQualityPrioritizationBalanced
和AVCapturePhotoQualityPrioritizationQuality
(在捕获设备上设置曝光持续时间和ISO时始终设置为速度,否则设置的快门速度和文档可能会被忽略-在线文档没有指定这一点,但XCode文档指定)CIFilter
,但几乎没有提高效果。NSData writeToFile:atomically:
for photo.fileDataRepresentationUIImage
中创建photo.fileDataRepresentation,并使用UIImageJPEGRepresentation(UIImage *, CGFloat)
编写不同压缩级别的CIImage
并使用CIContext writeJPEGRepresentationOfImage:toURL:colorSpace:options:error:
编写不同压缩级别的如何解决噪音问题?
发布于 2021-04-06 05:55:51
这与编码方面无关,而是与硬件限制有关。
ISO是指照相机的传感器(CMOS)捕捉光线的灵敏度。ISO设置越高,CMOS芯片中的电压越高,该芯片捕获光,放大光,产生数字信号,作为原始图像或处理后的图像。
在高压工作时,会产生噪声作为副产品。这就像增加一个微弱声音剪辑的音频音量,在这里我们会听到比我们在增加音量之前听到的更多的噪音。
一般情况下,一些巧妙的去噪算法可以帮助数字降噪,但图像质量可能会降低或出现人为的。如果您感兴趣,这里有一篇文章介绍了其中的一些内容:https://towardsdatascience.com/introduction-to-image-denoising-3e269f176483
本文认为,这些噪声很可能被认为是高斯噪声,复原涉及到对原始图像的估计。上面写着,
高斯滤波器是一种能有效抑制噪声和平滑图像的线性滤波器。它的工作原理类似于一个平均滤波器,两者都以滤波窗口中像素的平均值作为输出。
不过,这张照片会显得有点模糊。
https://stackoverflow.com/questions/66821013
复制相似问题