問題タブ [flood-fill]
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.
iphone - Floodfill アルゴリズムで objectAtIndex の exc_bad_access エラーが発生するのはなぜですか
フラッドフィル機能があります:
theGrid
NSMutableArray
intのです ( a0
または a 1
)。(グリッドの幅)を掛けて2D配列をシミュレートするのは、単なる1D配列です。を確認したところ、と同じです。ySpot
120
gridCount
9600
ただし、exc_bad_access
atを取得し[[theGrid objectAtIndex:(xSpot+ySpot*120)] getValue:&gridValue]
ます。私はいつこれが起こるかをチェックxSpot
し、毎回ySpot
それを知っています。(xSpot+ySpot*120) < 9600
したがって、インデックスが配列の外にあるオブジェクトにアクセスしようとしているわけではないことはわかっています。
さらに、ティック関数でコードを実行しました。
exc_bad_access
エラーは発生しませんでした。exc_bad_access
エラーが発生する理由を理解するのを手伝ってください。
編集:
[[theGrid objectAtIndex:(xSpot+ySpot*120)] getValue:&gridValue]; を分割しました。の中へ:
私はまだ exc_bad_access を取得し、次の行にあると言います: gridValue = [object intValue];
これは、オブジェクトがすでに解放されていることを意味すると思いますか? それがどのように可能かわかりません。int は単なる int であるため、保持する必要はまったくないと思いました。また、配列にオブジェクトを追加すると自動的に保持されると思ったので、なぜintが解放されるのでしょうか。
デバッグ セクションでは、オブジェクトの値は等しいと言われています: (_NSCFNumber *) 0x005aec80 (int) 0
java - mouseClickedをスクリプトに追加する方法
フラッドフィルアルゴリズムがあり、このmouseClickedに追加したいのですが、エラーが多いため、どのようにすればよいかわかりません。
これが私のコードです。mouseClickedからx、yの位置を取得し、それを「floodFill(image、x、y、yellow);」に渡します。
誰か助けてもらえますか?ありがとう
c++ - OpenCV の Floodfill 関数
フラッドフィル関数のドキュメントに記載されている浮動範囲と固定範囲の意味は何ですか??
以下に示すグレースケール画像にフラッドフィル機能を使用しました。イメージには、強度が異なる 3 つの領域があります。
- 外側の長方形 = 170
- 内側の楕円 = 175
- 内側の長方形 = 180
170 と 175 の領域を単一の接続されたコンポーネントとして一緒に塗りつぶし、180 の領域を別のコンポーネントとして塗りつぶしたいと考えています。
ここからコードを変更し、 次のように機能します。
フラグ CV_FLOODFILL_FIXED_RANGE を使用して固定範囲を使用しました(使用した方法は正しいですか?? )
loDiff=0 と upDiff=6を指定します。
シードが 170 になると、範囲 170-0 から 170+6、つまり170 から 176 (外側の長方形と内側の楕円) のすべてのポイントが同じラベルで塗りつぶされ、内側の長方形が 180 であるため、異なるラベルを持つと予想しました。
ただし、次のような出力が得られます:-
外側の長方形と内側の楕円には同じラベルがありません。何が間違いでしょうか?
予想される o/p : 内側の楕円もオレンジ色になります (外側の長方形と同じ)
paint - MSペイントクローン-図形を保存する方法
私はjavascriptでMSペイントクローンを作成しようとしています。フィルバケットツールについて考えるまでは、すべてが完璧に見えました。私はprocessing.jsライブラリを使用しており、基本的には組み込みの形状(楕円、長方形、線)を使用して描画していました。私がしたことは、ユーザーが描画する各形状の「タイプ」を配列に格納し、それに応じてレンダリングすることでした。したがって、shape [i] == 1の場合、その線、shape [i] = 2、その楕円などになります。これは、形状が順番にレンダリングされるようにするためです。これが、他のすべての形状の上に描画される最後の形状です。
そして、どうやら、この方法では、バケツを埋めるツールを使用できません(おそらく、その方法がわかりません)。少し調べてみたところ、フラッドフィルアルゴリズムを使用する必要があることがわかりました。そして、アルゴリズムには、多くのキューやスタック、ノードなどを使用することが含まれます。そして、深く掘り下げて実際に実装することを考える前に、ここで行った「配列内のストア」の概念を廃止する必要があるかどうかを知りたいと思います。そして、ピクセルを「ノード」としてどのように正確に表すことができますか?フラッドフィルに関するウィキペディアのエントリによると、私は「ノード」を使用して多くのことを行っていたからです。アイデア/リソースはありますか?
objective-c - Floodfill メモリ リーク iPhone
floodfill
iPhone用のC言語で関数を実装しています。
2つの問題がありますが、塗りつぶしは機能します。
以下のコードを数回実行すると、電話機はメモリ警告を表示します。ほとんどの場合、メモリ リークです。unsigned char *data (画像データ) はフラッドフィルの最後で free() されることにも注意してください。
(より少ない問題) おおよそ(r:200,g:200,b:200,a:200)より大きいピクセルにRGBカラーを書き込もうとすると、奇妙なアーティファクトが発生します。これに対する回避策は、単純に値を制限することでした。
これらの問題の両方の間に相関関係があるのではないかと思います。
以下のコードは、スタックを使用したフラッド フィル アルゴリズムを示しています。
.h:
.m:
このスタックの実装は、次の場所に基づいていObjFloodFill
ます。
https://github.com/OgreSwamp/ObjFloodFill/blob/master/src/FloodFill.m
ios - iOS FloodFill : UIImage とコア グラフィックス
フラッド フィル / ペイント バケツ機能を多用するアプリの構築を検討しています。私が着色する画像は、本のページを着色するようなものです。白い背景、黒い枠。UIImage
(ピクセルデータを操作することによって) どちらを使用するのが良いか、またはCore Graphics
タッチで画像を描画して塗りつぶしの色を変更する方が良いかについて議論しています。
ではUIImage
、網膜画像を適切に説明できません。コンテキストを new に書き込むとイメージが破壊されますUIImage
が、おそらく理解できます。私はヒントを開きますが...
ではCoreGraphics
、ユーザーが領域に触れて実際にその領域を塗りつぶしたときに、どの形状を塗りつぶすかを計算する方法がわかりません。調べましたが、検索に成功していません。
全体として、最適な解決策は を使用しCoreGraphics
ていると思います。全体的に軽くなり、同じ画像の異なるサイズのコピーをいくつか保持する必要がないからです。
考え?気楽に行こう!それは私の最初のアプリであり、最初のSOの質問です;)
iphone - iPhone/iPad でのフラッド フィル パフォーマンスの問題
私はペイント アプリケーションに取り組んでおり、フラッド フィル アルゴリズムを実装しています。私が実装しているコードは次のとおりです: https://github.com/OgreSwamp/ObjFloodFill/blob/master/src/FloodFill.m
およびviewController.hファイル
Viewcontroller.m ファイル
ユーザーがアプリケーションを継続的に使用するとパフォーマンスの問題が発生し、小さな部分を埋めるのに約 20 ~ 30 秒かかり、メモリ エラーでクラッシュします。
フラッドフィルでこの種の問題が発生した人はいますか?どのように解決しましたか?
java - 単純な Java ゲーム: 移動するカーソルによって描かれた図形を塗りつぶす
だから私は Java コースの紹介のプロジェクトを行っていますが、私ができることをはるかに超えたものを選んだようです。:P
どんな助けでも大歓迎です。これは私が問題を抱えているものです:
プレーヤーによって制御されるカーソル (前進または 90° 回転) があり、進むにつれて色付きの線が残ります。独自の線を越えて任意の形状の多角形を閉じることができた場合 (直角のみ)、その表面の色が線の色に変わります。
この状況がいつ発生したかを検出できますが、閉じたばかりの正しいポリゴンを実際に塗りつぶす方法がわかりません。可能なすべてのケースをカバーするアルゴリズムを想像できないようです。
スキャンライン塗りつぶしアルゴリズムを調べましたが、マップに既にいくつかのポリゴンが塗りつぶされているときまでに問題が発生し始めると思います。ポリゴン内のポイントを見つける方法があれば、Floodfillアルゴリズムは完璧ですが、さまざまな可能性があるため、これに関する一般的なルールは思いつきません。
各色が数値で表される整数の配列 2x2 を使用しています。
この問題にアプローチする方法について誰か考えがありますか?
java - これは Flood Fill プログラム 8-way ですか?
ねえ、これは正しく動作しますが、4 ウェイと比較した後、違いが見つかりません...これを渡すと、8 ウェイフラッド アルゴリズムを実装する正しい方法と見なされますか? はい/いいえの答えで十分ですが、続行する前に専門家に尋ねることにしました
読んでくれてありがとう
c - フラッド フィル アルゴリズム - 迷路ナビゲーション
フラッド フィル アルゴリズムのバージョンを実装して、マイクロ マウスの迷路の最短距離パスを解決しようとしています。埋められていない隣接する各場所に、その場所から開始場所までの距離を表す番号が割り当てられることを除いて、通常の塗りつぶしと同じように機能します。アルゴリズムが別のセルに移動するたびに、数値が 1 ずつ増加します。左下隅から始まる壁のない迷路の例を次に示します。
ここに私が持っている現在のコードがあります...
私が抱えている問題は、再帰が一度に1ステップずつ進んでいないことです(漠然としていますが、説明させてください)。すべての方向を確認してからアルゴリズムに進む代わりに、北に移動し続け、他の方向は確認しません。他の方向がチェックされるまで、他の再帰呼び出しをどうにかして譲りたいようです。誰か提案はありますか?