問題タブ [vips]

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 投票する
2 に答える
1129 参照

python - Vips 画像を抽出し、PIL と同じように numpy 配列に保存しますか?

ここで利用可能なVipsのドキュメントのいくつかを調べましたが、まだ答えが見つかりません.

PIL 画像がこのように自動的に処理されるのと同様に、画像を numpy 3D 配列に入れたいと思います。

.

これは私がこれまでのところVipsのために持っているものです...

したがって、Vips Image オブジェクトから正しい形式でデータを取得していないため、最後にそのエラーが発生します。

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

python - Python で VIPS を使用して論理操作と論理インデックス作成を実行する方法は?

Python と OpenCV を使用する次のコードがあります。簡単に言えば、異なる焦点深度で撮影した画像のスタックがあります。コードは、すべての焦点深度 (z) の中で最大のガウス応答のラプラシアンを持つすべての (x,y) 位置でピクセルを選択し、フォーカス スタック イメージを作成します。関数get_fmapは、最大の対数応答を持つ焦点面の番号が各ピクセルに含まれる 2 次元配列を作成します。次のコードでは、コメント アウトされている行が現在の VIPS 実装です。関数定義内では互換性がないように見えますが、それは部分的な解決策に過ぎないためです。

次にfmap、異なる焦点面からピクセルを選択して、フォーカススタック画像を作成するために使用されます

これは非常に大きな画像で行われますが、VIPS は OpenCV よりも優れていると思います。ただし、公式ドキュメントには、Python バインディングに関する情報がほとんどありません。インターネットで見つけた情報によると、画像の畳み込みを機能させることしかできません (私の場合、これは OpenCV よりも桁違いに高速です)。これをVIPS、特にこれらの行に実装する方法を考えていますか?

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

python - Python-VIPS はイメージの一部への割り当てをサポートしていますか?

私は Python 3 と Numpy を使用して、小さなタイルを大きな完全な画像に組み立てる画像処理タスクを処理してきました。

私はこれをします:

ここmax_xで、max_yは個々の画像タイルの最大開始座標です。次に、この大きなキャンバスに次のように画像を貼り付けます。

Wherejjは、各タイルが属する場所を記録するファイルリストのエントリです。Python を使用した VIPS で同様の操作を実現できるかどうか疑問に思っています。

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

python - Python サーバー アプリのメモリ リーク

Python サーバー アプリでメモリ リークが発生している理由を診断しようとしています。アプリは画像 URL のリクエストを受け取り、Vips を使用してサイズを変更し、画像を返します。リクエストのたびに、メモリ使用量は元の画像のサイズにほぼ比例して増加します。

pimplerトラッカーである muppy を使用してみましたが、画像のオープン/クローズ操作後の各差分は、使用されているバイトが数バイトしかないことを示していました。

外部 C ライブラリがメモリ リークの原因でしょうか? もしそうなら、それをどのようにデバッグしますか。

関連するものがある場合は、docker コンテナー内で python サーバーを実行しています

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

python - libjpeg-turbo でビルドされた VIPS での JPEG ライブラリ バージョンの誤り

VIPS 8.1.1をビルドしました

sourceforge project websiteからパッケージをダウンロードしました。パッケージをインストールした後、Vips を次のように構成します。

jpeg ファイルをロードするか、jpeg ファイルを保存しようとすると、次のエラー メッセージが表示されました。

VIPS のビルド方法が間違っていませんか? 他のバージョンの libjpeg-turbo でビルドする必要がありますか? それとも他の問題ですか?

という名前の別のライブラリ ファイルが見つかりましたlibjpeg.so.62。Vips をアンインストールして、このファイルで再構築しようとしましたが、問題は解決しません。

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

python - VIPS を使用して非常に大きな画像を処理することの難しさ

Ubuntu 14.04 LTS で VIPS(8.1.1) を使用して、複数のスレッドを使用して多くの小さなタイルを読み取り、それらをまとめて大きな画像にする Python(3.4.3) プログラムを作成しています。

非常に単純なテストでは:

正しい結果が得られます。私の完全なプログラムでは、各スレッドの作業には、ソース ファイルからバイナリを読み取り、それらを tiff 形式に変換し、画像データを読み取り、キャンバスに挿入することが含まれます。動作しているように見えますが、結果を調べようとすると問題が発生しました。画像が非常に大きいため(〜50000 * 100000ピクセル)、画像全体を1つのファイルに保存できなかったので、試しました

これには非常に時間がかかり、結果の jpeg には黒いピクセルしかありません。サイズを 3 回変更すると、プログラムが強制終了されます。私も試しました

これによりエラー メッセージsegmentation fault(core dumped)が表示されますが、画像は保存されます。その中に画像コンテンツがありますが、間違った場所にあるようです。

何が問題なのだろうか?

以下は、完全なプログラムのコードです。OpenCV + sharedmem (sharedmem は multiprocessing 部分を処理) を使用して同じロジックも実装され、問題なく動作しました。

上記のモジュール (mcv としてインポート) は、ドライバー スクリプトで呼び出されます。

内容を調べるために、私は使用しました