問題タブ [cimg]
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++ - PIL を使用して読み込まれた画像を Cimg 画像オブジェクトに変換します
PILを使用して読み込まれた iamge を Cimg イメージ オブジェクトに変換しようとしています。Cimg は C++ ライブラリであり、PIL は Python イメージング ライブラリであることを理解しています。画像の URL を指定して、ディスクに書き込むことなく画像のpHashを計算することを目的としています。pHash モジュールはCimg 画像オブジェクトで動作し、C++ で実装されています。そのため、python 拡張バインディングを使用して、必要な画像データを python プログラムから c++ プログラムに送信することを計画しています。次のコード スニペットでは、指定された URL から画像を読み込んでいます。
構築する必要がある Cimg 画像オブジェクトは次のようになります。
img.size を使用して width(size_x) と height(size_y) を取得し、C++ に渡すことができます。Cimg オブジェクトの「値」フィールドに入力する方法がわかりません。Python から C++ コードに画像データを渡すために使用するデータ構造はどのようなものですか?
また、PIL イメージを Cimg に変換する他の方法はありますか?
c++ - 画像の周波数スペクトルを表示するには?
CImg ライブラリを使用して画像の周波数スペクトルを表示しようとしています。x 軸に周波数値、y 軸に対数強度を持つ折れ線グラフとしましょう。
私はライブラリにかなり慣れていないので、かなり簡単かもしれません。
opencv - CImg ライブラリの get_convolve() 関数で使用されているフィルター
CImg ライブラリの get_convolve() 関数 (C で記述) で使用されているフィルタの種類は? 中央値、ガウス、両側、またはその他?PIL openCV で同様の機能を使用できるように、関数を理解しようとしました。ライブラリのヘッダー ファイル CImg.h には、次のように記述されています。
宣言は次のようになります。
コード スニペットを次に示します。
私は 7 x 7 のマスクを使用しており、その中の各値は「1」です。関数から得たのは、各ピクセルに対して、ピクセルを中心にしてその周りに7 x 7のウィンドウを取り、アイデンティティマトリックスを掛けることです。平滑化フィルターのような気がしますが、どれでしょうか?openCVで使用できる同等のフィルターはどれですか?
関数全体を投稿できますが、長すぎて要点がわかりません。あなたの助けに本当に感謝します。
c++ - CImg を使用した C++ でのスペクトル残留顕著性検出
この論文で説明されている、顕著性検出のためのスペクトル残差アプローチを実装しようとしています: http://www.klab.caltech.edu/~xhou/papers/cvpr07.pdf
Matlab コードには、Web サイトから取得したリファレンス実装があります: http://www.klab.caltech.edu/~xhou/projects/spectralResidual/spectralresidual.html
CImg を使用して C++ に変換しようとしました。私が失敗した場所はここにあります:
そしてここ
これが私のコードです:
明らかな間違いを見た人はいますか?
c++ - CImg FFT 戻り値
CImg の
get_FFT()
関数の戻り値について少し混乱しています。
フーリエ変換により、実数部と虚数部が得られるはずです。
get_FFT()
2 つの画像を含む CImgList を返します。どちらが実部で、どちらが虚部ですか? ドキュメントには手がかりがないようです。
また、振幅と位相を取得する必要があります。IIRC 振幅は次のように計算されます(realImg.pow(2) + imagImg.pow(2)).sqrt()
フェーズを取得するにはどうすればよいですか?
c++ - PNG 画像をインポートしてループし、透明度をチェックする
PNG ファイルを取り込み、そのピクセルをスキャンして、透明なピクセルがどこにあるかを特定できる CPP コードを書きたいと思います。
CIMG でこれを実行しようとしましたが、CIMG は RGB チャネルしかサポートしていないため、うまくいきませんでした。イメージ マジックをインストールした後でも、4 番目のチャネルで正しい値が得られません。
誰でも私が使用できるライブラリを提案できますか?
c - Cimg ライブラリを使用して jpeg 画像を読み取ると、スタック オーバーフロー エラーが発生する
ライブラリを使用して jpg ファイルを読み込もうとすると、スタック オーバーフロー エラーが発生しますがCimg
、他の形式の bmp は作業ファイルです。
どうすれば解決できますか?
image - CImg による画像のオーバーレイ
これは非常に簡単に思えますが、CImg で draw_image() 関数を使用すると多くの問題が発生します。コードのスニペットを次に示します。
draw_image() のオーバーロードされた関数を約 8 つ試しましたが、すべて役に立ちませんでした。プログラムを実行すると、メイン ウィンドウに私の DesertSunset 画像が表示されますが、それだけです。landingScreen の上に newgame.pgm を配置しようとしていますが、画像が表示されません。これは深さの問題ですか、それともファイルを構造化する方法ですか? CImg のさまざまなサンプル ファイルを調べましたが、あまり役に立たず、これらの関数に関するドキュメントはせいぜい最小限です。誰かが画像の上に画像を描画する方法の「Hello World」の例を挙げたり、私が間違っていることを教えてくれたりしたら、とても感謝しています。ありがとう!