問題タブ [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.
ruby - Ruby-vips画像処理ライブラリ。良い使い方の例はありますか?
私は画像処理にまったく慣れていません。内部でのJPEGとは何か、そしてそれがどのように機能するかについては何も知りません。
次の簡単な操作を実行するルビーコードの一部をどこかで見つけることができるかどうか疑問に思います。
- jpegファイルを開きます。
- 各ピクセルを繰り返し処理し、その色をfxgreenに設定します。
- 結果を別のファイルに書き込みます。
私はこれがruby-vipsライブラリ
https://github.com/ender672/ruby-vipsを使用してどのように達成できるかに特に興味があります
私の目標-ruby-vipsを使用して基本的な画像処理操作(ガンマ補正、明るさ、色合いなど)を実行する方法を学ぶこと
「helloworld」よりも複雑な実例へのリンク(ruby-vipsのgithubページにあるものなど)は大歓迎です!
ruby-vipsに代わるものがあれば、私もそれらに感謝します。
アップデート
私がこの質問をして以来、多くのことが起こりました:
- ruby-vipsは宝石です:http://libvips.blogspot.co.uk/2012/06/ruby-vips-launches.html
- 現在ruby-ffiに基づいているvips8の完全な書き直し
- ソースコードリポジトリはここにあります:https ://github.com/jcupitt/ruby-vips/
- 使用例:https ://github.com/jcupitt/ruby-vips/wiki/Examples
- vips画像処理の基本概念:https ://github.com/jcupitt/ruby-vips/wiki/Basic-concepts
- Ruby on Rails用のCarrierWaveアップローダープラグインへのruby-vipsの統合:https ://github.com/eltiare/carrierwave-vips
- ruby-vipsは、rails6のActiveStorageの公式バックエンドの1つです。
ruby-on-rails - 16 ビット TIFF での carriewave-vips の使用
16 ビット TIFF をアップロードして処理するために、carrierwave-vips (ruby-vips を使用) を使用しています。16 ビットの tiff は保存されますが (carrierewave だけの問題ではありません)、サムネイル (jpeg) も処理したいと考えています。問題は、結果のサムネイルが完全に吹き飛ばされることです。私に何ができる?
ruby - Ruby-vips > PDF を JPEG に変換
Vips と Ruby-Vips のドキュメントを調べてきましたが、とにかく PDF を読み込んで変換する方法がわかりません。Imagemagick の CLI ツールには convert コマンドがあります。Vips での変換に相当するものはありますか? 私の目標は、Rails 3 アプリで PDF を jpeg に変換することです。
ruby - Ruby-vips が EXIF 方向を取得する
ruby-vips gemから画像の EXIF データを取得しようとしていますが、エラーが発生し続けます。この問題の修復を試みた他の人からのドキュメントを見つけましたが、修正を試みましたが成功しませんでした。
どちらもエラーになります:
Ubuntu バージョン 13.10
Vips バージョン 7.28.5
ruby-vips 0.3.7
編集
ruby - ruby-vips をインストールできません。「pkg_config libvips がありません」
Elementary OS を実行しており、apt-get を使用して libvips-dev をインストールしました。「gem install ruby-vips -v '0.3.9'」を実行すると、次のエラーが表示されます。
私の単純な知識からすると、これは、gem が libvips-dev のインストールを見つけられないことを意味している可能性があります (必要であることはわかっています)。このエラーの意味と、このライブラリをインストールするにはどうすればよいですか?
python - タイル化された TIFF からタイルを抽出し、numpy 配列に格納します
私の全体的な目標は、入力 mirax (.mrxs) スライド イメージから JPEG 出力ファイルにいくつかの領域をトリミングすることです。
これらの画像の 1 つが次のようになります。
暗い灰色の領域は画像の一部であり、最終的に JPEG 形式で抽出したい領域は 3 つの黒い正方形の領域であることに注意してください。
さて、具体的には:
コマンド ラインで vips を使用して、mirax イメージからカラー チャネルを 3 つの個別の TIFF ファイルに抽出できます。
チャネルC
番号 (0 ~ 2) に対応し、各出力ファイルのサイズは約 250 MB です。
次の仕事は、画像から関心領域を何らかの形で認識して抽出することなので、いくつかの python 画像処理ライブラリに目を向けましたが、ここで困難に遭遇しました。
OpenCV を使用して TIFF をロードしようとすると、次のようになります。
エラーが発生するerror: (-211) The total matrix size does not fit to "size_t" type in function setSize
次のようにして、Pillow でもう少し牽引力を得ることができました。
出力:
ただし、画像をロードする以外に、有用な操作を実行できないようです。たとえば、tiff.tostring()
結果が得られますMemoryError
(PILオブジェクトをnumpy配列に変換しようとしてこれを行います)タイルが存在する場合でも、この操作が有効かどうかはわかりません。
私の限られた理解では、これらの TIFF は画像データを「タイル」(上の画像には 636633 が含まれています) に JPEG 圧縮形式で格納します。
ただし、これらのタイルを通常の JPEG 画像として使用するためにどのように抽出するのか、または上記のプロセスの一連の手順が ROI をミラックスのイメージ。
私が正しい方向に進んでいる場合は、いくつかのガイダンスをいただければ幸いです。または、Python を使用せずに vips/openslide を使用して目標を達成する別の方法がある場合は、アイデアを聞いてみたいと思います。さらに、説明した TIFF ファイルをどのように処理または理解できるかについての詳細情報も役立ちます。
理想的な状況は次のとおりです。
1) vips/openslide の自動クロッピング機能の一種で、TIFF または元の mirax 画像から JPEG を生成できます。次のコマンドの行に従って、何万もの画像を生成する必要はありません。
2) OpenCV または別の方法を使用して 3 つの ROI を検出するために、TIFF からタイルを抽出し、画像領域に対応するデータを numpy 配列として格納できること。
imagemagick - C++ TIFF (生) から JPEG へ: ImageMagick よりも高速ですか?
毎秒多くの TIFF 画像を JPEG に変換する必要があります。現在、libmagick++ (Q16) を使用しています。ImageMagick Q8をコンパイルする過程にあり、パフォーマンスが向上する可能性があることを読みました (特に、8 ビット イメージのみを扱っているため)。
CImgも良いオプションのように見え、GraphicsMagickは ImageMagic よりも高速であると主張しています。どちらもまだテストしていませんが、ImageMagick Q8 を使用するよりも高速な代替手段があるかどうか疑問に思っていましたか?
Linux のみのソリューションを探しています。
UPDATE width GraphicsMagick & ImageMagick Q8
基本比較 (Mark へのコメントを参照): ImageMagick Q16 で 0.2 秒
Q8でGraphicsMagickのコンパイルに成功したのですが、やはりImageMagickより30%くらい遅い(0.3秒)感じです。
Q8 で ImageMagick をコンパイルすると、約 25% (0.15 秒) 向上しました。良い :)
更新幅 VIPS
Mark さんの投稿のおかげで、 VIPSを試してみました。Ubuntu Trusty リポジトリーにある 7.38 バージョンを使用する場合:
非常に素晴らしい :)
7.42 (ppa:dhor/myway から) も試してみましたが、少し遅いようです:
ソースから VIPS をコンパイルして、その時間を超えることができるかどうかを確認します。よくやったマーク!
更新: VIPS 8.0 で
ソースからコンパイルすると、vips-8.0 は 7.38 と実質的に同じパフォーマンスを得ます。
構成コマンド:
node.js - ノード シャープ (libvips) を使用した画像の追加
VIPS を使用して、多数の小さいイメージのディレクトリを 1 つの大きなイメージに追加したいと考えています。node モジュール「sharp」は libvips を使用します。シャープを使用して 2 つの画像を一緒に追加する方法はありますか? VIPS には「LRJOIN」機能がありますが、その明確な実装は見当たりません。
VIPS で画像のディレクトリを 1 つの大きな TIFF に追加する最速の方法を知りたいだけです。メモリの問題のため、ImageMagick などを使用するには画像が大きすぎます。
編集:
ruby-vips を使用してイメージを結合し、VIPS コマンド ライン ツールを呼び出して DZI を生成しました。
ruby-sharp githubの問題でコードを見つけて、少し修正しました。550 個の 4096x256 画像の結果 (結合部分のみ):