- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在图像上尝试 CIColorClamp,它应该只将像素保持在指定范围内 (https://developer.apple.com/library/archive/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html#//apple_ref/doc/uid/TP30000136-SW42),但是当我在黑色像素上打印前后结果时,它给出的数字与我在参数中设置的数字不同.这是代码:
let ciImage = CIImage.init(cgImage: image.cgImage!)
let filter = CIFilter("CIColorClamp")!
filter.setDefaults()
filter.setValue(ciImage, forKey: kCIInputImageKey)
filter.setValue(CIVector(x: 0.8, y: 0.8, z: 0.8, w: 0), forKey: "inputMinComponents")
filter.setValue(CIVector(x: 1, y: 1, z: 1, w: 1), forKey: "inputMaxComponents")
let outputCIImage = filter.outputImage!
let context = CIContext.init()
let outputCGImage = context.createCGImage(outputCIImage, from: outputCIImage.extent)
let outputImage = UIImage(cgImage: outputCGImage, scale: image.scale, orientation: image.imageOrientation)
这应该在黑色像素 (0, 0, 0, 1) 上给出 (0.8, 0.8, 0.8, 1),但是当我打印它时它给出以下内容:
<CIColorClamp: inputImage=<CIImage: 0x28165d590 extent [0 0 800 160]>
inputMinComponents=[0.8 0.8 0.8 0] inputMaxComponents=[1 1 1 1]>
BEFORE 0.0, 0.0, 0.0, 1.0
AFTER 0.9058823529411765, 0.9058823529411765, 0.9058823529411765, 1.0
CoreImage 是否在做其他事情然后只是最小/最大?或者我不知道这里还有什么问题。
最佳答案
估计是配色问题。 Core Image 默认执行从输入到工作到输出颜色空间的颜色匹配。如果输入图像的颜色空间与输出颜色空间不同,您可能会得到不同的像素值。
尝试以一种根本不进行任何颜色匹配的方式设置您的 CIContext
:
let context = CIContext(options: [.workingColorSpace: NSNull(), .outputColorSpace: NSNull()])
对于颜色钳位过滤器,这可能有效,因为它只是钳位值。不过,我不确定颜色矩阵过滤器是否需要一些特定的颜色空间。
您还可以在调试器中对 outputCIImage
执行快速查看,以查看 Core Image 实际对图像执行的操作图。
关于ios - CoreImage CIColorClamp 调整为错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56296371/
我创建了如下模糊图像: //Blur the UIImage CIImage *imageToBlur = [CIImage imageWithCGImage:viewImage.CGImage];
我目前正在探索 Apple 的 Core Image 框架中的人脸检测功能。 现在,我正在玩 Apple 的示例项目,该项目将红色方 block 放在人的脸上。 ( https://developer
我有来自 AVAsset 的 CVPixelBufferRef。我正在尝试对其应用 CIFilter。我使用这些行: CVPixelBufferRef pixelBuffer = ... CVPixe
我刚刚在 iOS 5 上查看了 CoreImage 框架,发现可以很容易地为整个图像添加效果。我想知道是否可以对图像的特殊部分(矩形)添加效果。例如在部分图像上添加灰度效果/ 期待您的帮助。 谢谢,辉
我在 IOS 上使用 CoreImage 来检测图像中的人脸。当有多个面孔时它工作正常,但不适用于像这样的简单面孔: 人脸真的很大很明显,但是CoreImage检测不到。我想这可能是因为我的 kCGI
我正在使用以下代码从图像中删除绿色背景。但是图像的边缘有绿色色调并且一些像素已损坏。我如何平滑它并使剪切完美。 func chromaKeyFilter(fromHue: CGFloat, toHu
对于那些不熟悉 Core Image 的人,这里有一个很好的描述: http://developer.apple.com/macosx/coreimage.html 是否有与 Apple 的 Core
我正在开发一个 cocoa 应用程序。我使用 CIFilter 和 CIImage 在 NSImage 中应用核心概念。 所以我需要导入CoreImage.framework。但我没有在我的开发人员库
想象一下,你有几百张方形图片,比如专辑封面 一些有白色边框 注意 10px 左右的边框。 我正要写一些简单的光栅代码来检测和删除这样的边界——简单地说,用灰色填充它们。 但是:这可以以某种方式通过核心
我想使用 coreImage 框架检测 UIImage 是否模糊 最佳答案 尝试使用 OpenCV 功能。 http://answers.opencv.org/question/34481/ios-l
我正在尝试使用 CoreImage CIFeature 来检测面部表情,因为这些是 native API。我创建了一个示例 View Controller 项目并更新了相关代码。当我启动这个 iOS
核心图像不起作用: let fileUrl = Bundle.main.url(forResource: "image", withExtension: "png") let bega
我已经创建了我认为应该是合适的灰度 CIFilter,使用针对白色调整的 CIColorMonochromeFilter。这对我来说看起来很灰度,但我也不是专家,所以我只是想知道这是否是灰度过滤器的准
在内核例程规则的文档中,它说“内核例程通过使用反向映射回输入图像的相应像素来计算输出像素。尽管您可以用这种方式表达大多数像素计算(有些比其他更自然),但对于某些图像处理操作来说,即使不是不可能,也是很
我在图像上尝试 CIColorClamp,它应该只将像素保持在指定范围内 (https://developer.apple.com/library/archive/documentation/Grap
我正在编写一个 iOS,我需要能够在图像中进行边缘检测。我实际上想要类似于 Photoshop 的跟踪轮廓的东西。因为我基本上需要得到最简单的一组线来工作。事情是我似乎无法弄清楚如何去做,坦率地说,我
我正在构建一个 iOS 应用程序来执行一些基本检测。我从 AVCaptureVideoDataOutput 获取原始帧,将 CMSampleBufferRef 转换为 UIImage,调整 UIIma
我终于坐下来将我们的一些图形库转换为使用 CoreImage 来渲染图像(用于混合两个图像之类的事情)并且我已经开始工作但速度很慢(iOS5.01 iPhone 4S)。我认为 CoreImage 的
是否存在可用作平滑阈值的现有过滤器?我的意思是像素值应该在两个值之间设置阈值,但中间值是插值的。 基本上,我正在尝试实现这个: https://www.filterforge.com/wiki/ind
我正在使用来自这个问题的 Dondragmer 的“旋转色调”示例中的代码:How to programmatically change the hue of UIImage? 但是,我得到的结果与我
我是一名优秀的程序员,十分优秀!