問題タブ [ciimage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
624 参照

uiscrollview - 1 つの ImageView が ScrollView にある場合、Core Image を使用して 2 つの UIImageView を合成します。

中に がありUIScrollViewますUIImageView。ユーザーは、scrollView 内で画像をパンおよびズームできます。

UIImageViewメイン ビュー (scrollView の上) にもあり、ユーザーはその画像を画面上で移動できます。

CISourceOverCompositing を使用して、両方を結合しています。

...しかし、画像を にすると、画像の位置と縮尺が失われCIImage、前景画像が常に左下に表示されます。

だから私imageByApplyingTransformは前景画像の位置を移動するために使用しようとしました(そして最終的にはスケール変換も適用する必要があります)が、ImageViewから位置を取得しますが、座標は背景画像のネイティブ解像度である必要がありますそれ自体...しかし、背景画像は動き回っています(これはContentOffset、どういうわけか考慮に入れる必要があることを意味すると思います)、背景画像には特定のスケールがあり、前景画像には特定のスケールがあります...

各画像のさまざまなスケール、回転、および位置変数に関して、すべての変換を再生成する必要があるのは奇妙に思えます...

これは、私がやろうとしていることの基本的な考え方です (左側はメイン ビュー座標で、右側はネイティブ イメージ座標です)。

どんな助けでも大歓迎です!

ありがとう!

全体計画

0 投票する
3 に答える
29837 参照

ios - CIImage から CGImage を取得する

CIImage からロードされる UIImage があります。

tempImage = [UIImage imageWithCIImage:ciImage];

tempImage問題は、特定のものにトリミングする必要があることです。CGRectこれを行う方法を知っている唯一の方法は、 を使用することCGImageです。問題は、iOS 6.0 のドキュメントで次のように見つけたことです。

CG画像
If the UIImage object was initialized using a CIImage object, the value of the property is NULL.

A. CIImage から CGImage への変換方法は? 私はこのコードを使用していますが、メモリ リークがあります (どこにあるのかわかりません):

0 投票する
3 に答える
1936 参照

ios - CIImage から UIImage を作成すると色が反転する (iOS 6.0)

UIImage を CIImage から適切に構築するために、さまざまなオプションやトリックを試してきました。しかし、CIImage を作成するたびに、その色が反転しているように見えます。

私が持っている最新のコードは次のとおりです。

これにより、次の画像が生成されます。

反転カラー画像。

ただし、次のようなイメージを構築します。

... 次の画像を生成します。

ここに画像の説明を入力

CIImage を構築するさまざまな方法を試しました。

これは、iOS の CIImage のピクセル形式が ARGB であるためですか? (現在 iOS6 で可能なフォーマットはこれだけのようです)

もしそうなら、どうすればこのCIImageが正常に見えるようにピクセルフォーマットを交換できますか?



私が試した主要なさまざまな方法をすべて示す git のプロジェクト リポジトリを作成しました (それぞれのバリエーションは含まれません)。6 つの方法があり、最初の 5 つは失敗します。

https://github.com/C4Code/CIImageTest

最後の方法は機能しますが、本当に汚いです:

UIImage から自分のグラフィックス コンテキストに描画しています。これが機能するため、CIImage のネイティブ実装にバグがある可能性があると思います。つまり、UIImage から CIImage を作成することはできません... 繰り返しますが、私が考えることができる唯一のことは、CIImage が ARGB 空間にあり、UIImage がそうではないということです...しかし、私は知りませんこれを回避する方法は?

これはバグですか?

0 投票する
1 に答える
458 参照

objective-c - CIImageAccumulator を元に戻す

私はそのように絵を描くアプリの魔女の作品を持っています:

  • mouseDown/mouseDragged イベントで、CIRadialGradient を使用してイベントの場所にポイントを描画します
  • CIRadialGradient outputImage を取り、それを CISourceOverCompositing フィルターで inputImage として使用します (開始時の inputBackground は空の CIImage です)。
  • CISourceOverCompositing outputImage を brushAccumulator イメージとして設定します (後で、brushAccumulator イメージは CISourceOverCompositing フィルタの inputBackgroundImage として使用されます)。
  • brushAccumulator 画像を CIBlendWithMask inputMaskImage として設定する CIBlendWithMask outputImage を mainImageAccumulator 画像として設定する mainImageAccumulator を画面に描画する

そして、undo メソッドを実装したいと思います。まず、brushAccumulator.image (CIImage) を元に戻すオブジェクトとして使用できると考えました (それを mutableArray に追加し、元に戻すメソッドが呼び出されたときに、brushAccumulator イメージを mutableArray オブジェクトの 1 つに設定します)。 、それは単にそれを構築するための一連の指示の結果であり、たとえば CIFilter の出力です。したがって、CIImage をコピーする場合は、それらの命令をコピーするだけで、変更すると出力が変更されます。

そこで、brushAccumulator のイメージから NSBitmapImageRep を作成し、それを NSMutableArray に格納できると考えました。しかし、brushAccumulator の更新で問題が発生しました。NSMutableArray の NSBitmapImageRep の 1 つから作成された新しい CIImage を brushAccumulator イメージとして設定しましたが、brushAccumulator イメージは変更されません。

私のペイント アプリは CIImageAccumulator (CIMicroPaint サンプル コードと同様) に基づいていますが、元に戻す/やり直し効果を実現するために何を提供できますか?

0 投票する
1 に答える
450 参照

c# - AsJPEG()。CIImageをUIImageに変換した後、保存が機能しない

CIImageのImageByCroppingToRect関数を使用して、元々UIImageであった画像をトリミングしています。作物は機能します。「originalImage.AsJPEG()。Save」を実行すると、同様に機能します。保存するファイルが機能するJPEGであることをテストし、確認しました。しかし、「croppedImage.AsJPEG()。Save」を実行すると、その行に「System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。originalImageとcroppedImageはどちらもUIImagesです。唯一の違いは、croppedImageがトリミングを行った変換済みCIImageから発生したことです...しかし、なぜこのエラーが発生するのでしょうか。これはUIImageなので、機能するはずですよね?そして、「view.Image = CroppedImage;」という行があるため、croppedImageの画像が存在することを私は知っています。

以下はソースコードであり、このリンクはjpg画像を含む実際のプロジェクトです: https ://www.dropbox.com/s/erh0yrew8pyuye7/TestImageCrop.zip

0 投票する
1 に答える
2799 参照

iphone - ciimageiOSで目と口の周りに正方形または円を描くにはどうすればよいですか

私はiOSプログラミングに不慣れで、コア画像のリンク、回答、チュートリアルをたくさん検索しましたが、それでも正確には理解できません。私はボタン、簡単なものを持っているテストアプリを持っています、私がいくつかのフィルターボタンを押すとそれがフィルターを作ってそれを表示する画像を持っています。

今、私は目と口を検出し、その周りに長方形や円を描くボタンが欲しいのですが、何色でも何でも構いません。私はまで来ました

そして今、私は問題を抱えています(そしてこれが正しいスタートであるかどうかはわかりません)。次に何をすべきか知りたいので助けてください..事前にありがとう

0 投票する
1 に答える
4672 参照

ios - CMSampleBufferRef のトリミング

CMSampleBufferRef画像を特定のサイズにトリミングしようとしています。私は5つのステップを作っています - 1. 2から取得PixelBuffer. 3にSampleBuffer変換. これまでのところ、ステップ4で問題が発生しています-画像をレンダリングして戻します(この時点を超えてチェックできません)バッファには何もレンダリングされません(同じものを使用してチェックし、戻り値としてNULLを取得します)。ヒントや助けをいただければ幸いです。PixelBufferCIImageCIImageCIImagePixelBufferPixelBufferSampleBufferPixelBufferCIImage imageWithCVPixelBuffer

0 投票する
2 に答える
1215 参照

cgimage - CIBloom は画像を小さくします

CIBloom を使用して 内のテキストをぼかしていますCGImageが、CIBloom フィルタによって画像がわずかに小さくなっているようです。

フィルター カーネルを大きくすると、効果が悪化します。私はこれを期待していましたが、それをオフにする方法、または各文字が元のサイズとまったく同じになるように画像のサイズを変更する式が必要です。ソース画像にわざと余白を残しています。

CIBloom フィルターの前:

a

CIBloom フィルターの後:

ここに画像の説明を入力

フィルターをぼかすコード:

フィルターは気に入っていますが、ダウンサンプリングではなく、元の画像と同じサイズCIBloomの結果が必要です。