答えて
はいだ場合は、Appleのコアイメージを使用することを好むだろう。少なくとも2つのオプション、CIPhotoEffectMonoまたは小さなカスタムCIColorKernelがあります。
CIPhotoEffectMono:
func createMonoImage(image:UIImage) -> UIImage {
let filter = CIFilter(name: "CIPhotoEffectMono")
filter!.setValue(CIImage(image: image), forKey: "inputImage")
let outputImage = filter!.outputImage
let cgimg = ciCtx.createCGImage(outputImage!, from: (outputImage?.extent)!)
return UIImage(cgImage: cgimg!)
}
注、私はすぐにこれを書いている、あなたはnilを返しますため、物事を引き締める必要があるかもしれません。
CIColorKernel:
FadeToBW GLSL(0.0因子フルカラー、1.0因子がない色ではない):
kernel vec4 fadeToBW(__sample s, float factor) {
vec3 lum = vec3(0.299,0.587,0.114);
vec3 bw = vec3(dot(s.rgb,lum));
vec3 pixel = s.rgb + (bw - s.rgb) * factor;
return vec4(pixel,s.a);
}
以下のコードはFadeToBW.cikernelというファイルとしてこれを開きます。これを文字列としてopenKernelFile
コールに直接投稿することもできます。
スウィフトコード:など
再びfunc createMonoImage(image:UIImage, inputColorFade:NSNumber) -> UIImage {
let ciKernel = CIColorKernel(string: openKernelFile("FadeToBW"))
let extent = image.extent
let arguments = [image, inputColorFade]
let outputImage = ciKernel.applyWithExtent(extent, arguments: arguments)
let cgimg = ciCtx.createCGImage(outputImage!, from: (outputImage?.extent)!)
return UIImage(cgImage: cgimg!)
}
、いくつかの警備員を追加し、
こんにちはdfd、お返事ありがとうございました!カスタムカーネルソリューションを試してみると、カーネルを適用した後に「致命的なエラーが発生します:カーネルを適用した後に、オプション値をアンラップしている間に予期せず見つからない」というメッセージが表示されます。 – Pascal
次のコードを使用しました: '' 'let ciKernel = CIColorKernel(string:" ... ")! let image = CIImage.init(image:inputImage)! letエクステント= image.extent let arguments = [inputImage、inputColorFade] let outputImage = ciKernel.apply(withExtent:extent、arguments:arguments)! letコンテキスト= CIContext(オプション:なし) let cgimg = context.createCGImage(outputImage、from:(outputImage.extent)) 返信UIImage(cgImage:cgimg!) '' ' – Pascal
Ah。私のせい。実行中のアプリケーションからコピーされた未テストコード。 * inputImage *ではなく* image *である。私は自分の答えを編集しています。テスト目的のために、適用(withExtent:引数)にブレークポイントを置き、それ以外は何もないことを確認してください。 – dfd
- 1. Core Image Filterは空の画像を返します
- 2. Symbol Digital Image Scannerを使用したOPOS画像のキャプチャ
- 3. 私はそのような二値画像を有する二値画像
- 4. Core Imageフィルタリングされた画像がiOS 10のUIImageViewから飛び出します
- 5. 二値化の画像フィルタリング手法の提案
- 6. Laravel 5.4を使用した画像アップロードIntervention Image 2.x
- 7. mouseover image jQueryを使用して別の画像を表示
- 8. type = "image"を使用しない画像のボタン
- 9. iOS Visionが2値化された画像の光を検出します
- 10. Core Image SwiftのTileEffectフィルタがnil画像を返しています
- 11. iOS周辺の白いピクセルCIFilterを使用した画像
- 12. RGB画像上の二値画像が重なり合うMATLAB
- 13. opencv pythonを使用した画像の減算を使用したしきい値画像
- 14. Cognexのインサイトエクスプローラを使用した画像キャプチャの自動化
- 15. Core Imageフィルタを使用して画面全体をフィルタリングできますか?
- 16. scikit-imageを使用して画像をぼかす
- 17. AESを使用して暗号化された画像のように復号化された画像
- 18. Inkscape - 画像をパターンとして使用してrectを使ったときの画質低下<image>
- 19. openCVを使用したビデオ画像の鮮明化
- 20. colorboxとjqueryプラグインを使用した画像のグループ化
- 21. iOS Image Viewでエミュレータの画像が表示されない
- 22. iOS用の画像セグメンテーション
- 23. iOS用のPDF画像アセット
- 24. CoreGraphics - Image pixelatedを使用した網膜ディスプレイでの描画
- 25. 他の画像ビュータグを使用した画像ビューの作成
- 26. 他の画像を使用した画像の生成
- 27. iosでカメラフィルタを使用して画像を平準化する9
- 28. .NET CoreのDIコンテナを使用したオブジェクトのインスタンス化
- 29. 画像を高速化する - iOS
- 30. Upadate Imageフォームを送信した後のサイドバーの画像Angular 2
は(私を許して、私は答えとして、このコメントを投稿おっと。。。)はい。 CIPhotoEffectMono(https://developer.apple.com/library/content/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html#//apple_ref/doc/filter/ci/CIPhotoEffectMono)を確認します。私はまた、白と白に "フェード"するカスタムCIColorKernel(GLSLコード)を書きました。私は両方の答えを数分で投稿します。 – dfd