問題タブ [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.

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

c - CImgを使用して画面内のすべてのポイントを調整する方法

(3000.00,4500.45) のような大きな double 値を持つ線を描画する必要があります。

しかし、画面サイズを 800x800 に制限したい

Pointの座標のModulusを800以内にしようと思いました Like

3000.00%800=600

Screen に 600 を収めることができます。しかし問題は、CPP が double 値の係数をサポートしていないことです。

CImg を使用してこれらの大きなポイントを画面に収めるにはどうすればよいですか?

0 投票する
0 に答える
1157 参照

c++ - パス名にスペースが含まれていると CImg の読み込みイメージが失敗する

画像をスキャンして座標を返すために開発している C++ アプリケーションがあります。この最後の問題を除いて、アプリケーション全体が期待どおりに動作します。ユーザーが画像をフォルダーにアップロードすると、画像はキュー内のアプリケーションに対して一度に 1 つずつ実行されます。問題は、多くのフォルダーを持つ何千ものユーザーがいて、これらのユーザーのかなりの数が、フォルダー/ファイル名にスペース (例: " ") を含むフォルダー/ファイルをアップロードしていることです。

アプリケーションを実行するとクラッシュしますが、CImg がパス内のスペースを好まないという事実に絞り込みました。

パスにスペースがあるローカルマシンで実行するたびに、次のエラーが表示されますが、これはあまり意味がありません。

jpeg-info.exe の 0x00BE05F7 で未処理の例外: 0xC00000FD: スタック オーバーフロー >(パラメーター: 0x00000000、0x00242000)。

[CImg] * CImgIOException * [instance(0,0,0,0,00000000,non-shared)] CImg::load(): ファイル 'J:\uploads\41039\test name' を開けませんでした

[CImg] * CImgIOException * cimg::fopen(): モード 'rb' でファイル 'J:\uploads\41039\test name' を開けませんでした。

失敗するコード行は here です。

文字列にスペースを含むCImgへのパスを渡す方法を見つける必要があるだけで、壊れません。

補足: この解決策を見つけやすくするために、boost ファイルシステムをインストールしています。

編集:

この問題を修正するのに運がなかったので、ファイル名を2つの異なる方法で取得していました..

元の方法: (const char を直接渡す)

新しい方法:(パスを取得し、ブーストを使用して適切にフォーマットします)

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

cimg - 指定されたx、y座標からポリゴンを描画する方法は?

5 つのポイントから閉じた多角形を描画しようとしています。次のコードを試しています。

ポイントを ccw の順序で指定しようとしましたが、期待どおりのポリゴンが得られません。期待される 私が得るものは次のようなものです:見つかった

期待どおりにポリゴンを生成するにはどうすればよいですか? ポイントを入力として与える方法は?反時計回りまたは反時計回りまたは任意の順序?

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

c++ - 左上隅ではなく左下隅から CImg 描画を開始するには?

CImg では、座標系は左上隅から始まると見なされます。しかし、私は通常、座標系が左下隅から始まるのを見るのに慣れています。したがって、座標 (10,100)、(50,50)、(100,100) で三角形を描画しようとするたびに、描画が上下逆になります。これを反転するものはありますか?期待されるのはこれ欲しい

見つかったのはしかし、私はこれを見つけました

0 投票する
4 に答える
1468 参照

c++ - 固定メモリに既に保存されている値を cimg オブジェクトに割り当てる方法

Cimg lib を使用して画像処理作業を行っています。GPU から返された配列のポインターがあり、Cimg オブジェクトで配列の値を直接取得したいと考えています。現在、for ループを使用して作業を行っていますが、あまり効率的ではありません。

私が現在使用しているサンプルコードは次のとおりです。

このコードは疲れましたが、機能しません:

for ループをなくして速度を向上させるのを手伝ってくれる人はいますか? よろしくお願いします。

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

c++ - CIMG 画像置換

小さな問題があります。いくつかの画像を使用する必要がありますが、それぞれに新しい「画像」を宣言したくありません。イメージを次のように宣言します: CImg image("1.bmp"); その後、2.bmp などの画像や画像にサインをお願いします。うまく説明できればわかりません...以下と同じことをしたいと思いますが、画像では: int a =1; a=2;

libのドキュメントを探していましたが、何も見つかりませんでした。image=image("2.bmp") 残念ながら機能していません。私の問題を解決する方法はありますか?image1、image2、image3などを宣言したくありません。

0 投票する
0 に答える
880 参照

c++ - Eclipseはエラーを表示しますが、外部メイクファイルの場合はコンパイルします

CImg および Eigen ライブラリを使用した C++ コードがいくつかあります。C++ コードで、このようなプラグインを定義します

プラグインには、C++ コードで使用される多くのメソッド定義が含まれています。

また、コマンド ライン (./make) から呼び出すと、すべてをコンパイルして実行可能ファイルを生成できるようにするメイクファイルもあります。

このコードを新しい Eclipse プロジェクトにインポートしたいので、そうします。

  • 新規 > プロジェクト > C++ プロジェクト > Makefile プロジェクト > 空のプロジェクト
  • 「デフォルトの場所を使用」のマークを外し、ファイルシステムで私のコードを含むフォルダーを選択します
  • プロジェクト>プロパティ> C / C ++ビルド>「デフォルトのビルドコマンドを使用」のマークを外し、メイクファイルを使用するように設定します
  • また、プロジェクトのプロパティ> C / C ++一般>パスとシンボル> EigenとCImgを含むフォルダーへのパスを追加
  • インデックスの再構築
  • きれいなプロジェクト
  • 日食を再開する

プロジェクトをビルドすると、Eclipse は「my_plugin.h」に 1000 個を超えるエラーがあることを通知しますが、実行可能ファイルを生成できます。とはいえ、このエラーは煩わしいので、取り除きたいと思います。また、プラグインで使用される CImg メソッドの宣言を開きたい場合は、できません。

以前に質問されたことは知っていますが、私が見つけた解決策はどれも私にとって満足のいくものでした (それらのほとんどは前のリストに列挙されています)。私が訪問した情報源は次のとおりです。私が見ていない他の情報源を見つけて教えていただければ幸いです。

Eclipse はエラーを表示しますが、プロジェクトは正常 にコンパイルします Eclipse C プロジェクトはエラーを表示します (シンボルを解決できませんでした) が、 Eclipse CDT はいくつかのエラーを表示しますが、プロジェクトは正常にビルドされ ます http://www.eclipse.org/forums/index.php/ t/247954/

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

c++ - 大きな画像のメモリに画像を読み込まずにピクセル値にアクセスする

次のような CImg ライブラリを使用して、画像の平均値を計算する必要があります。

それがうまくいくことはわかってimg.mean()いますが、ここでは低レベルの方法でそれを行いたいと思います。

画像のサイズが大きくなりすぎると、ドキュメントによると、すべての画像ピクセルをメモリ バッファーに同時に格納しているため、コードの 3 行目がコンピューターのリソースを大量に消費します。

open()システムコールを使用して、read()次のように、さらに低レベルのソリューションについて考えました。

しかし、今得られた結果は何の意味もありません。イメージがメモリにロードされたときと同じ方法でディスクに保存されている場合、このソリューションが最終的に時間とメモリを節約するかどうか、このソリューションがまったく意味があるかどうか疑問に思います。