問題タブ [libpng]

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 に答える
15540 参照

png - 16 ビット グレースケール png

各ポイントの色がその座標の合計に等しい16ビットのグレースケール画像を(libpngを使用して)書き込もうとしています。次のコードは 16 ビットの PNG を生成するはずですが、代わりにこのような 8 ビットを生成します。なんで?

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

compiler-construction - プログラムのコンパイル中にtesseractが見つからないのはなぜですか?

Google の光学認識プログラムである OCR 0.4 をコンパイルしようとしています。

readme ファイルに書かれているように、次のことを行う必要があります。

1) これらのパッケージがインストールされていることを確認してください (現在の Ubuntu/Debian バージョンで動作するはずです): libpng (ヘッダー付き) libjpeg (ヘッダー付き) libtiff (ヘッダー付き)

2) http://code.google.com/p/iulibから iulib をインストールします。

3) Subversion リポジトリ (http://code.google.com/p/tesseract-ocr) から最新バージョンの tesseract をインストールします。

4) リリース ディレクトリから、./configure make sudo make install を実行します。

上記のすべてのパッセージを実行した後、コマンドラインに「./configure」と入力すると、次のエラーが発生します。

/usr/include/tesseract/baseapi.h をチェックしています...構成がありません: エラー: tesseract が見つかりませんでした! 使用しない場合は --without-tesseract を選択するか、 --with-tesseract= でインストール パスを指定します。

これまでにこれを解決しようとしたのは、入力"which tesseract"して取得したtesseractパスを指定してコンパイルしようとすることです

そのため、入力./configure --with-tesseract=/usr/local/bin/tesseractしたところ、同じ同じエラーが発生しました。

なぜ私はこれを手に入れたのですか?

前もって感謝します

編集 - 以下の回答に記載されている方法を使用した後、次のエラーが発生します。

Localhost:ocropus giorgio$ make all in . g++ -DPACKAGE_NAME=\"ocropus\" -DPACKAGE_TARNAME=\"ocropus\" -DPACKAGE_VERSION=\"0.3\" -DPACKAGE_STRING=\"ocropus\ 0.3\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ocropus\" -DVERSION=\"0.3\" -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNIST_HATLO =1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DHAVE_LIBZ=1 -DHAVE_LIBPNG=1 -DHAVE_LIBJPEG=1 -DHAVE_LIBTIFF=1 -DHAVE_LIBIULIB=1 -DHAVE_LIBPTHREAD=1 -DHAVE_LIBTESSERACT_FULL=1 -DHAVE_LIBLEPT=1 -DHAVE_LIBGSLCBLAS=1 -DHAVE_LIBGSL=1 -DHAVE_LIBBLAS=1 -DHAVE_FORK=1 -DHAVE_VFORK=1 -DHAVE_WORKING_VFORK=1 -DHAVE_WORKING_FORK=1 -DHAVE_DUP2=1 -DHAVE_MEMSET=1 -DHAVE_SQRT=1 -DHAVE_STRCHR=1 -DHAVE_STRDUP=1 -DHAVE_STRRCHR =1 -I. -I./include -I.test -f './ocr-line/glclass.cc' || echo './'./ocr-line/glclass.cc ./ocr-line/glclass.cc:5 から ./include/glinerec.h:57 からインクルードされたファイル: ./include/glutils.h:139: 警告: 無視 # pragma omp parallel ./ocr-line/glclass.cc:105: 警告: 無視します #pragma omp parallel ./ocr-line/glclass.cc:129: 警告: 無視します #pragma omp parallel ./ocr-line/glclass.cc :175: 警告: #pragma omp parallel を無視します ./ocr-line/glclass.cc:236: 警告: #pragma omp parallel を無視します ./ocr-line/glclass.cc:421: 警告: #pragma omp parallel を無視します ./ ocr-line/glclass.cc:644: 警告: #pragma omp parallel を無視します。/ocr-line/glclass.cc:1166: 警告: #pragma omp parallel を無視します。/ocr-line/glclass.cc:1403: 警告: #pragma omp parallel ./ocr-line/glclass.cc:1623 を無視します: 警告: #pragma omp parallel を無視します ./ocr-utils/components.h:275: 警告: 'struct ocropus::IComponentConstructor' には仮想関数がありますが、非仮想デストラクタ /usr/local/include/colib/narray.h: In member function 'colib::narray& colib::narray::truncate(int) [with T = char]': . /ocr-utils/narray-binio.h:48: ここからインスタンス化 /usr/local/include/colib/narray.h:261: 警告: 非 void を返す関数に return ステートメントがありません /usr/local/include/colib /narray.h: メンバー関数 'colib::narray& colib::narray::truncate(int) [with T = int]': ./ocr-line/glclass.cc:295: ここからインスタンス化 /usr/local /include/colib/narray.h:261: 警告: 非 void を返す関数に return ステートメントがありません /usr/local/include/colib/rowarrays.h: 関数内 'T colib::rowdist_euclidean(colib::narray&, int , colib::narray&) [with T = float]': ./ocr-line/glclass.cc:396:
ここからインスタンス化された /usr/local/include/colib/rowarrays.h:94: エラー: オーバーロードされた 'sqrt(float)' の呼び出しがあいまいです /usr/local/include/colib/iarith.h:345: 注: 候補は: colib::interval colib::sqrt(colib::interval) /usr/local/include/colib/iarith.h:620: 注意:
colib::dinterval colib::sqrt(colib::dinterval) ./ocr- utils/components.h: グローバル スコープ: ./ocr-utils/components.h: 'ocropus::ComponentConstructorNew' のインスタンス化: ./ocr-utils/components.h:306: 'void ocropus::component_register からインスタンス化(const char*, bool) [with T = glinerec::MappedClassifier]' ./ocr-line/glclass.cc:1795:
ここからインスタンス化された ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります ./ocr-utils/components.h: 'ocropus::ComponentConstructorNew のインスタンス化中': ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::Float8Buffer]' ./ocr-line/glclass.cc:1796 からインスタンス化されました: ここからインスタンス化された ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、仮想デストラクタではありません ./ocr-utils/components.h: 'ocropus:: のインスタンス化中ComponentConstructorNew': ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::KnnClassifier]' ./ocr-line/glclass.cc: からインスタンス化されました: 1798:ここからインスタンス化された ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります ./ocr-utils/components.h: 'ocropus::ComponentConstructorNew のインスタンス化中': ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::BitNN]' ./ocr-line/glclass.cc:1799 からインスタンス化されました: ここからインスタンス化された ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、仮想デストラクタではありません ./ocr-utils/components.h: 'ocropus:: のインスタンス化中ComponentConstructorNew': ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::AutoMlpClassifier]' ./ocr-line/glclass.cc: からインスタンス化されました: 1801:/ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります ./ocr-utils/components.h: 'ocropus::ComponentConstructorNew' のインスタンス化中: ./ ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::BitNN]' からインスタンス化 ./ocr-line/glclass.cc:1799: ここからインスタンス化./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります。/ocr-utils/components.h: 'ocropus::ComponentConstructorNew' のインスタンス化中: . /ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::AutoMlpClassifier]' からインスタンス化./ocr-line/glclass.cc:1801:/ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります ./ocr-utils/components.h: 'ocropus::ComponentConstructorNew' のインスタンス化中: ./ ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::BitNN]' からインスタンス化 ./ocr-line/glclass.cc:1799: ここからインスタンス化./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります。/ocr-utils/components.h: 'ocropus::ComponentConstructorNew' のインスタンス化中: . /ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::AutoMlpClassifier]' からインスタンス化./ocr-line/glclass.cc:1801:ComponentConstructorNew には仮想関数がありますが、仮想デストラクタではありません。 (const char*, bool) [with T = glinerec::BitNN]' ./ocr-line/glclass.cc:1799: ここからインスタンス化 ./ocr-utils/components.h:280: 警告: 'struct ocropus: :ComponentConstructorNew' には仮想関数がありますが、仮想デストラクタではありません。 component_register(const char*, bool) [with T = glinerec::AutoMlpClassifier]' ./ocr-line/glclass.cc:1801:ComponentConstructorNew には仮想関数がありますが、仮想デストラクタではありません。 (const char*, bool) [with T = glinerec::BitNN]' ./ocr-line/glclass.cc:1799: ここからインスタンス化 ./ocr-utils/components.h:280: 警告: 'struct ocropus: :ComponentConstructorNew' には仮想関数がありますが、仮想デストラクタではありません。 component_register(const char*, bool) [with T = glinerec::AutoMlpClassifier]' ./ocr-line/glclass.cc:1801:「ocropus::ComponentConstructorNew」のインスタンス化: ./ocr-utils/components.h:306: 「void ocropus::component_register(const char*, bool) [with T = glinerec::BitNN]」からインスタンス化./ocr -line/glclass.cc:1799: ここからインスタンス化./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります./ocr-utils/components.h : 'ocropus::ComponentConstructorNew' のインスタンス化: ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::AutoMlpClassifier]' からインスタンス化./ ocr-line/glclass.cc:1801:「ocropus::ComponentConstructorNew」のインスタンス化: ./ocr-utils/components.h:306: 「void ocropus::component_register(const char*, bool) [with T = glinerec::BitNN]」からインスタンス化./ocr -line/glclass.cc:1799: ここからインスタンス化./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります./ocr-utils/components.h : 'ocropus::ComponentConstructorNew' のインスタンス化: ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::AutoMlpClassifier]' からインスタンス化./ ocr-line/glclass.cc:1801:ここからインスタンス化された ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります ./ocr-utils/components.h: 'ocropus::ComponentConstructorNew のインスタンス化中': ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::AutoMlpClassifier]' ./ocr-line/glclass.cc:1801 からインスタンス化されました:ここからインスタンス化された ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります ./ocr-utils/components.h: 'ocropus::ComponentConstructorNew のインスタンス化中': ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::AutoMlpClassifier]' ./ocr-line/glclass.cc:1801 からインスタンス化されました:
ここからインスタンス化された ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタがあります ./ocr-utils/components.h: 'ocropus::ComponentConstructorNew2 のインスタンス化中': ./ocr-utils/components.h:310:
'void ocropus::component_register2(const char*, bool) [with T = glinerec::MappedClassifier, S = glinerec::AutoMlpClassifier]' からインスタンス化されました./ocr-ライン/glclass.cc:1802:
ここからインスタンス化された ./ocr-utils/components.h:286: 警告: 'struct ocropus::ComponentConstructorNew2' には仮想関数がありますが、仮想デストラクタではありません ./ocr-utils/components.h: 'ocropus::ComponentConstructorNew のインスタンス化中': ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::AdaBoost]' ./ocr-line/glclass.cc:1804 からインスタンス化されました: ここからインスタンス化された ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、仮想デストラクタではありません ./ocr-utils/components.h: 'ocropus:: のインスタンス化中ComponentConstructorNew2': ./ocr-utils/components.h:310: 'void ocropus::component_register2(const char*, bool) [with T = glinerec::MappedClassifier, S = glinerec::AdaBoost]' ./ocr からインスタンス化-line/glclass.cc:1805: ここからインスタンス化されました ./ocr-utils/components.h:286: 警告: 'struct ocropus::ComponentConstructorNew2' には仮想関数がありますが、仮想デストラクタではありません ./ocr-utils/components.h: 'ocropus: のインスタンス化中: :ComponentConstructorNew': ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::CascadedMLP]' ./ocr-line/glclass.cc からインスタンス化されました:1807: ここからインスタンス化されました ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、仮想デストラクタではありません ./ocr-utils/components.h: 'ocropus のインスタンス化中::ComponentConstructorNew2': ./ocr-utils/components.h:310: 'void ocropus::component_register2(const char*, bool) [with T = glinerec::MappedClassifier, S = glinerec::CascadedMLP]' からインスタンス化されました。/ocr-line/glclass.cc:1808: ここからインスタンス化されました ./ocr-utils/components.h:286: 警告: 'struct ocropus::ComponentConstructorNew2' には仮想関数がありますが、仮想デストラクタではありません ./ocr-utils/components .h: 'ocropus::ComponentConstructorNew' のインスタンス化: ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::LatinClassifier]' からインスタンス化./ocr-line/glclass.cc:1810: ここからインスタンス化されました./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタ make[1]:ComponentConstructorNew': ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::LatinClassifier]' ./ocr-line/glclass.cc: からインスタンス化されました: 1810: ここからインスタンス化されました ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタ make[1]:ComponentConstructorNew': ./ocr-utils/components.h:306: 'void ocropus::component_register(const char*, bool) [with T = glinerec::LatinClassifier]' ./ocr-line/glclass.cc: からインスタンス化されました: 1810: ここからインスタンス化されました ./ocr-utils/components.h:280: 警告: 'struct ocropus::ComponentConstructorNew' には仮想関数がありますが、非仮想デストラクタ make[1]:* [glclass.o] エラー 1 make: * [all-recursive] エラー 1

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

linux - 最新バージョンがまだ配布リポジトリにないパッケージをアップグレードする

libpngをバージョン1.2から1.5にアップグレードする必要があります。このため、これを行う必要があります。libpng警告:アプリケーションはlibpng-1.2.26でビルドされていますが、1.5.2で実行されています。私はLubuntu11.10を使用していますが、Canonicalリポジトリではlibnpg 1.5はまだリリースされていませんが、Debianのものには最初は私に合うテストパッケージ( http://packages.debian.org/search?keywords=libpng )があります。DebianリポジトリをSynaptecに追加し、libpng15をインストールできましたが、IDEがlibpng15の代わりにlibpng12を使用するソースコードをコンパイルする場合、これらのパッケージはlibpng12を置き換えません。

これを解決するために、libpng15 debパッケージをダウンロードして解凍し、コントロールファイルのReplacesConflictsProvidesタグをlibpng15テキストに変更しました。次に、変更されたdebを実行しましたが、libpng12が置き換えなしでアンインストールされ、Lubuntuがそれに大きく依存しているため、GDebiエラーと一般的なシステム障害しか発生しませんでした。これにより、コンピューターが実行したため、Lubuntuを再インストールする必要がありました。 Linuxで再度起動しないでください。はい、この解決策は私が考える最も良い方法ではありません。

それで、パッケージをアップグレードして、新しいバージョンが存在するが、それがまだ配布リポジトリにない古いバージョンを置き換える方法はありますか?libpngのubuntuリポジトリを見つけました。ソースからビルドされたLinuxのパッケージをアップグレードするにはどうすればよいですか?。これまでのところあまり決定的ではありませんが。

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

c++ - 別のpngの上にpngを描画するにはどうすればよいですか?

libpng を使用して別の png (背景) の png 上部を "描画"\"マージ" するにはどうすればよいですか? チュートリアルやそれに関するドキュメントに記載されているものはないようです。

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

linker - Linux で pngnq を作成しようとすると、libpng へのリンクに問題が発生する

libpng >= 1.2.8に依存するpngnqをインストールしようとしています。Software Center のバージョンが古すぎたので、、、経由で1.5.7 を(問題なく)インストールしました。, ,経由でインストールしようとしています( Software Center のバージョンが古すぎるため) 。エラー メッセージの小さなサンプル:libpng./configuremakesudo make installlibpngpngnq./configuremakesudo make installmakelibpng

Linux にソフトウェアを手動でインストールした経験が限られているため、問題を診断するための次のステップが何なのかよくわかりません。かなりの検索を行いましたが、私が抱えている問題を対象としたものは実際には見つかりませんでした. 同様の問題に関するフォーラムの投稿に基づいて、ディレクトリで実行ls/usr/local/libたところ、次のことがわかりました。

ただし、それが実際に特定の問題の診断/除外に役立つかどうかはわかりません。Linux でコードをコンパイルした私の最小限の経験を踏まえて、何が間違っているのか誰かアドバイスできますか?

編集:

make要求に応じて、呼び出しで始まるトレースのサンプルを次に示します。

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

qt - Qt での libpng とのリンク

Qt フレームワークと libpng の両方を使用するプロジェクトをコンパイルしようとしています。以前のバージョンの libpng でエラーが発生していたため、新しいコードベースをダウンロードしました。プロジェクトをビルドしようとすると、次のエラーが発生します。

含まれている libpng ソースと mingw でコンパイルされたソースの間のバージョンに問題があるのではないかと思いますが、実際にはわかりません。私は何を間違っていますか?

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

c++ - jpeg と png ではどちらが遅いですか?

これら 2 種類の画像 (JPEG と PNG のどちらが遅いか) の解凍プロセスに大きな違いがあるかどうか疑問に思っていましたか?

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

xcode - MacOSX での libpng のリンカ エラー

私は MacOSX 10.7.2 と Xcode 4.2.1 で作業しています。ポートを使用してインストールlibpngし、アプリケーションに PNG 画像をロードしようとしましたが、リンカ エラーが発生します。

png.hを使用してプロジェクトに含めました

libpngに基づいていることはわかっているため、「その他のリンカーフラグ」zlibに含めましたが、何も変更されていません。-lz

それを機能させる方法に関する提案はありますか?

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

c++ - libpng png_set_add_alpha | libpng png_set_add_alpha | png_set_filler エラー: 順次行オーバーフロー

OpenCL で使用するために C で PNG ファイルを読み込もうとしています。OpenCL は 24 ビット RGB イメージをサポートしていないため、データを RGB から RGBA に拡張する必要があります。私が使用している PNG はすべて 24 ビットなので、頭痛の種を避けることができます。

問題を解決するためにほぼ同じであると思われる png_set_filler と png_set_add_alpha を使用しようとしましたが、どちらもこのエラーを引き起こします:

ここに完全な機能があります:

ありがとう。

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

c - PNGファイルのsBITチャンクの目的は何ですか?

実際には、PNGファイルでのsBITチャンクの使用法を理解していません。

11ビット/チャンネルのRGBソースからPNGファイルを保存しているので、(c)コードでsBITチャンクを忠実に設定します。

画像をWindowsビューア(ネイティブVista画像ビューア/Paint.net)で表示すると、下位8ビットが切り捨てられるため、上位3ビットしか表示されません。sBITチャンクは、表示するデータをMSBで正当化するために、ピクセルを5ビット左シフトするようにリーダーに自動的に指示すると思いました。そうではないようです。

コード内でsBITチャンクがある場合とない場合のpngファイルを開き、次の手順を実行します。

ピクセルデータは同じです。

sBITチャンクの使用モデルは何ですか?どういうわけかsBITチャンクを使用してピクセルデータを表示用にMSBで正当化できますが、数値解析のために「元の」データを参照できますか?