問題タブ [ndimage]
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.
python - 境界条件で画像の領域を取得するには?
の多くの関数は、関数がイメージの領域外 (パディング) からのデータを必要とする場合の処理方法を決定するscipy.ndimage
オプションの引数を受け入れます。mode=nearest|wrap|reflect|constant
パディングは、ネイティブ コードのNI_ExtendLine()によって内部的に処理されます。
パディングされたデータに対して ndimage 関数を実行する代わりに、ndimage が使用するのと同じパディング モードの選択を使用して、パディングされたデータを取得したいと思います。
以下に例を示します (mode=nearest の場合のみ、2D 画像を想定):
これは正しいことを行いますが、一度に 1 ピクセルずつ反復するため遅くなります。
これを行うための最良の(最も速く、最も明確で、最もpythonicな)方法は何ですか?
python - Python での画像の回転 - 品質の向上 - Scipy
タイトルが示すように、Scipy パッケージを使用して、Python で画像を回転させようとしています。入力として特定のサイズ (512 x 512 など) の画像を受け取り、その上でいくつかの回転を実行し、その一部をトリミングする必要があります。だから、これはこれまでの私のコードです:
これは私の元の画像 (256x256) です。
そして、これらは私が得たいくつかの出力です(128x128):
ご覧のとおり、エッジはかなり悪く、これは私がしなければならないことには受け入れられません。どうしてこうなったのか、どうにかして治す方法はないものかと悩んでいます。
前もって感謝します。
python - Pythonでいくつかの接続されたコンポーネントを削除するには?
二値化された画像を考えてみましょう。私はscipy.ndimage.label()
それを使用し、結果に を適用しますfind_objects()
。
これで、N 個のタプルで構成されるタプル リストが得られました。それぞれのタプルは、次のように 2 つのスライスです。
これは、連結成分による xy 境界座標を記述します。
例として、インデックス 0 のタプルを取り上げます。
slice(0, 21, None)
行番号が0〜21であることを意味し、
slice(0, 12, None)
列番号が 0 ~ 12 であることを意味します。
したがって、この cc の面積は であることがわかり21 * 12 = 252
ます。
ここで、面積が 300 より小さい連結要素を削除したいと思います。
私はすでに、それらすべてに対してこの反復を行うことを知っています。もっと効率的な方法でやりたいです。誰もそれを行う方法を知っていますか?
python - マスクされた配列を使用した ndimage map_coordinates
次のように補間するために ndimage を使用しています。
ここでの問題は、入力データ全体に対して有効な測定値がないことです。したがって、どのデータ ポイントが有効かを示すマスクされた配列があります。したがって、補間を行うときは、有効なピクセルのみを使用し、それに応じて重みを調整したいと思います (重みの合計が 1 になるようにするため)。
ただし、これを行う簡単な方法はありません。誰かがこれを行う良い方法を知っているか、使用できるライブラリまたはコードを教えてくれるかどうか疑問に思っていました. 私は C++ のバックグラウンドを持っているので、まだ Python の周りを探しています。
python - 顕微鏡画像のセグメンテーション: Python による細菌のセグメンテーション
いくつかの大腸菌を示すいくつかの顕微鏡明視野画像をセグメント化しようとしています。私が取り組んでいる写真は、これに似ています (これが位相差で得られたとしても):
私の問題は、セグメンテーション関数 (以下の OtsuMask) を実行した後、分裂しているバクテリアを区別できないことです (サンプル画像で以下のコードを試すことができます)。これは、2 つの異なるラベル付き画像ではなく、端で結合された 2 つのバクテリアに対して 1 つのラベル付き領域を取得することを意味します。2 つの分裂しているバクテリアの間の境界は狭すぎて、しきい値処理された画像に対して実行する形態学的操作によって強調表示できませんが、私の目標を達成する方法があるに違いないと思います。
アイデア/提案はありますか?
OtsuMask のコードの最初の部分は、平面フィッティングと減算で構成されています。
python - scipy.ndimage.generic_filter が型エラーを返す
を使用してscipy.ndimage.generic_filter
、配列のローカライズされたモーダル値を計算しています。2 つの方法を比較して、どちらが速いかを確認していました (最初の方法は非常に遅いため)。私の最初のアプローチは次のとおりです。
私の 2 番目のアプローチは次のとおりです。
しかし、2番目のアプローチでは、次のようになります。
これを実行すると:
戻るTrue
戻り値が同じ場合、メソッドではなくメソッドをgeneric_filter
使用すると型エラーがスローされるのはなぜですか?numpy.bincount
stats.mode
Windows 7でPython 2.7.3、Numpy 1.6.1、およびScipy 0.14.0を使用しています(これはESRI ArcGISに付属しているため、このバージョンのNumpyとPythonにこだわっています)。モーダルフィルターを計算するためにscikit-imageをインストールしようとしましたが、インストール時に他のエラーが発生し、これを解決する方が簡単だと思いました!