草庐IT

CIfilter

全部标签

ios - 使用 Core Image 从查找图像中过滤图像

我正在尝试为我的应用程序中的图像开发一些滤色器。我们使用查找图像,因为它们很容易用于从其他程序复制过滤器,并且可以方便地跨平台获得相同的结果。我们的查找看起来像这样以前,我们使用GPUImage来过滤查找图像,但我想避免这种依赖性,因为它高达5.4mb,而我们只需要这个功能。搜索了几个小时后,我似乎无法找到任何关于如何使用查找图像通过CoreImage过滤图像的资源。但是,查看文档,CIColorMatrix看起来像合适的工具。这里的问题是我太笨了,无法理解这是如何工作的。这让我想到了我的问题;有没有人有关于如何使用CIColorMatrix从查找中过滤图像的示例?(或关于我应该如何继

ios - Metal Custom CIFilter 不同的返回值

我正在编写CIFilter,但结果像素颜色与Metal函数的返回值不同。内核Metal#includeextern"C"{namespacecoreimage{float4foo(sample_trgb){returnfloat4(0.3f,0.5f,0.7f,1.0f);}}Metal过滤器.swiftimportCoreImageclassMetalFilter:CIFilter{privateletkernel:CIColorKernelvarinputImage:CIImage?overrideinit(){leturl=Bundle.main.url(forResource:

ios - Swift 3.0 CIEdgeWork 过滤器不工作

我正在尝试将CIEdgeWork过滤器应用到我的inputImage并将过滤后的图像放入myImage(这是一个UIImageView)。我没有得到任何结果(只是一个空白屏幕)。这种相同风格的代码适用于其他过滤器,如CIEdges。有人知道我做错了什么吗?在ios10设备上测试。letcontext=CIContext(options:nil)ifletedgeWorkFilter=CIFilter(name:"CIEdgeWork"){letbeginImage=CIImage(image:inputImage)edgeWorkFilter.setValue(beginImage,f

swift - 使用输入参数崩溃在 Swift 中子类化 CIFilter

classCustomFilter:CIFilter{varinputImage:CIImage?varinputRadius:CGFloat=100.0overridevarname:String{return"CustomFilter"}overridefuncsetDefaults(){self.inputRadius=100.0}overridevaroutputImage:CIImage?{returnnil}}实例化上面的过滤器会导致app抛出异常CoreImage`-[CIFilter_crashed_when_dealloc_called_setValue_nil_fo

swift - iOS 10 打破自定义 CIFilter

我编写了一个色度键过滤器,用于使MPEG电影的背景透明,这样您就可以将电影文件用于更长的动画,而无需冗长的PNG序列(对于某些类型的iOS动画通常是这样做的)。我正在使用AVPlayer、AVVideoComposition和自定义CIFilter在背景图像上渲染视频。背景图片可以由用户与应用程序交互动态更改。这在iOS10发布之前一直工作得很好,现在它坏了。现在发生的是视频播放,但没有发生色度键控并且Xcode反复吐出以下错误:needaswizzlersothatYCC420vcanbewritten.这是CIFilter应该生成的图像:而是它产生的结果(自iOS10起):这是我创

ios - 在 Swift 中使用实时滤镜录制视频

我是swift的新手,正在尝试构建一个可以应用实时滤镜并使用应用的滤镜保存的相机应用程序。到目前为止,我可以使用应用的滤镜进行实时预览,但是当我保存视频时,它全黑了。importUIKitimportAVFoundationimportAssetsLibraryimportCoreMediaimportPhotosclassViewController:UIViewController,AVCaptureVideoDataOutputSampleBufferDelegate{varcaptureSession:AVCaptureSession!@IBOutletweakvarprevi

swift - CIFilter 后的图像旋转

我正在将CIFilter应用于肖像图像。由于某种原因,它顺时针旋转了90度。我怎样才能解决这个问题?我的代码在下面varimgOrientation=oImage.imageOrientationvarimgScale=oImage.scaleletoriginalImage=CIImage(image:oImage)varfilter=CIFilter(name:"CIPhotoEffect"+arr[sender.tag-1000])filter.setDefaults()filter.setValue(originalImage,forKey:kCIInputImageKey)v

ios - 如何使用 CIFilter 在 Swift 中将 UIImage 转换为灰度?

到目前为止,我正在为iOS应用程序构建扫描仪组件,结果图像已裁剪并处于正确的视角。现在我需要将彩色图像转换为黑白“扫描”文档。我尝试使用-“CIPhotoEffectNoir”,但它比全黑和白更灰度。我希望获得100%黑色和100%白色的全对比度图像。我怎样才能做到这一点?谢谢 最佳答案 您可以使用CIColorControls并设置ContrastKeykCIInputContrastKey来增加黑白对比度,如下所示:Xcode9•Swift4extensionString{staticletcolorControls="CICo

objective-c - CIAreaHistogram 给了我除了最后一个元素之外的所有 0?

我想计算一个NSImage的直方图,所以我自然而然地转向了CIFilter。有一个名为CIAreaHistogram的过滤器可以满足我的需求。这是我的代码:NSBitmapImageRep*rep=[imagebitmapImageRepresentation];CIImage*hImage=nil;@autoreleasepool{CIImage*input=[[CIImagealloc]initWithBitmapImageRep:rep];CIFilter*histogramFilter=[CIFilterfilterWithName:@"CIAreaHistogram"];[h

ios - CIFilter 中的 CIQRCodeGenerator 问题

我正在更新现有的应用程序以支持iOS12,并且CIFilter出现了奇怪的问题。这是一个简单的类,只有一个函数generate():classQRGenerator{staticfuncgenerate(fromstring:String)->UIImage?{letcontext=CIContext()letdata=string.data(using:String.Encoding.ascii)ifletfilter=CIFilter(name:"CIQRCodeGenerator"){filter.setValue(data,forKey:"inputMessage")lettr