問題タブ [boost-gil]
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.
c++ - boost::gilポインタをbgr8_view_tオブジェクトに
BGRAをBGRに変換する関数を書きたい。
void convertBGRAViewtoBGRView( const boost::gil::bgra8_view_t &src, boost::gil::bgr8_view_t dst )
私がこのように書くと:
動作しますが、非常に遅いです。したがって、NEON命令を使用したいので、たとえば(UInt8 *)または(UInt32 *)のポインターが必要です。私はこのようにそれを試しました:
これは多かれ少なかれ機能しますが、結果の画像は正しくありません。アライメントに問題があるのではないかと思います。誰かがそれをどのように機能させるかについての考えを持っていますか?このソリューションは、イテレータを使用したソリューションよりも約3倍高速です。
更新:デバッガーで確認しました。srcの幅は480x360で、i == 259になるまではすべて正しいですが、後からイテレーターとポインターを使用したソリューションは異なります。
ありがとう。
c++ - 特殊なテンプレートをオーバーライドする
Boost.GIL を使用して、基本的な画像処理ルーチンを実行しています。Boost.GIL では、異なる種類のピクセル間の色空間変換は、ジェネリックconvert_pixel( )
関数のテンプレート特化によって実現されています。ただし、これらの実装を、たとえば LCMS に基づくものでオーバーライドしたいと考えています。
convert_pixel()
への内部呼び出しが新しく LCMS ベースの を使用するように、テンプレートの特殊化をオーバーライドする方法はありますconvert_pixel()
か?
最終回答
GIL 設計マニュアル (チュートリアルよりもはるかに興味深い) を掘り下げると、Adobe がこの問題を解決する方法を提案していることがわかりました。私たちが興味を持っている人のために、このリンクは答えを提供します: http://www.boost.org/doc/libs/1_49_0/libs/gil/doc/html/gildesignguide.html#NewColorConversionDG
boost-gil - boost::gil を使用して、gray8 の署名されていない画像またはビューの gray8s ビューを取得するにはどうすればよいですか
boost::gil を使用して、gray8 画像またはビューに適用され、gray8s ビューを提供するビューを作成するにはどうすればよいですか?
私が期待するもの:
これら 2 つのケースでは、ビュー内の各ピクセル値が、ソース イメージ内の対応するピクセル値から 128 を引いた値に等しいと予想されます。
/li>これらの 2 つのケースでは、ビュー内の各ピクセル値がソース イメージ内の対応するピクセル値と等しいと予想されます (つまり、効果なし、アイデンティティ マッピング)。
/li>
boost-gil - boost::gilを使用して一般的なpngファイルをロードするにはどうすればよいですか
適切に作成された.pngファイルを次のように定義された画像にロードできるように環境を構成しました。
しかし、どのようにすれば一般的なタイプのpngファイル(GIMPやMSペイントによって生成されたものなど)をロードできますか。boost :: gil :: any_imageが必要だと思いますが、構成する必要のあるタイプがわかりません。
私はもう試した:
ただし、MSペイントまたはGIMPで作成されたファイルは読み込まれません。
image - Boost.GIL istream から画像を読み込む
std::istream から Boost.GIL イメージにイメージをロードしようとしています。私はオンラインで検索しましたが、まだ良い解決策を見つけていません。
どんな助けでも大歓迎です。
どうもありがとう
c++ - イメージを読み取り、boost::gil でバイトにアクセスする
次のことは可能ですか。
- ファイル名だけで指定された画像 (画像形式がわからない) を、圧縮されていない 2 次元行列 rgb 形式に読み取ります (たとえば、JPG を 2 次元配列に読み取ります)。
- その画像のバイトにアクセスし、それらをコピーし、変更します...(たとえば、色を反転します。画像バイトへのポインターが必要です。セッター/ゲッターは行いません)
- これらのバイトを任意の画像形式に保存します (たとえば、反転した画像を PNG に保存します)。
で可能boost::gil
ですか?そのようなタスクにより適した別のライブラリがあるのではないでしょうか?
サンプルコードは高く評価されます。
c++ - ビットマップ ファイル (.bmp) をロード
boost::gil::extension::io は png または jpeg ファイルのみをサポートしていることに気付きました.これで十分な場合が多いのですが、ビットマップ (*.bmp) ファイルを画像にロードする方法を知りたいですか? これは実際にはjpegなどよりも簡単ではないでしょうか?
c++ - boost :: gilで線を引く?
(画面外の)画像に線を引く必要があります。libはすでに私のプロジェクトに統合されているので、boost::gilを使用したいと思います。
2dim配列で始点から終点まで線を引きたい
ギルを使って線を引く方法の簡単な例を教えてもらえますか?
ありがとうございました。
c++ - スクラッチ スペースを必要とするアルゴリズムの設計
C++ 標準ライブラリは、次のようなアルゴリズムからデータ構造を分離しますstd::sort
。
アルゴリズムが中間のスクラッチ スペースを必要とする場合、アルゴリズムとデータ構造の分離を維持したいと考えています。
この目標を念頭に置いて、入力画像と出力画像の間に中間のスクラッチ スペースを必要とする画像アルゴリズムを実装したいと考えました。関数呼び出しで必要なスクラッチ スペースを割り当てることもできますが、同じサイズのイメージを使用したこれらの呼び出しのサイズと頻度により、パフォーマンスが大幅に低下します。これにより、データ構造をアルゴリズムから分離することがはるかに困難になります。
これを実現する 1 つの方法は次のとおりです。
上記は効果的なアルゴリズム + スクラッチ スペースの設計に従うべきですか、それともより良い方法はありますか?
補足: boost::gilライブラリを使用しています