問題タブ [netpbm]

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

python-3.x - Python 3.x でファイルから入力を読み取る

そのような構造のファイルから入力を読んでいるとしましょう

ただし、次のように入力ファイルに起因する可能性のある間違いを考慮したいと考えています。

最初のトークン 'P3' を読み込んでから、次の 2 つの '400' '200' (高さ/幅) '255' を読みたいです。私はこの情報を読み取るための正しいコードを持っていますが、行単位ではなくトークン単位で情報を読み取る方法を理解するという壁を乗り越えることができないようです。

これは、不完全な入力を考慮していません。

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

imagemagick - 自動的に決定された境界ボックスに画像ファイルをトリミングするための (最新の) ツール?

レンダリング パイプラインが (信頼できる) バウンディング ボックスを生成しないダイアグラムから余白 (余白など) をトリミングする必要があります。マージンは確実に白いので、自動検出は原則として些細なことですが、私が見つけることができた唯一の既存のツール、あいまいな netpbm 画像形式 ( https://en.wikipedia.org/wiki/Netpbm_format )。

netpbm ツールには PNG 形式のコンバーターが含まれているため、このトライアドは機能します。

しかし、それは少し不格好です (また、ダイアグラムを使用すると、中間の PPM ファイルは 100 倍以上に膨張する可能性があります。original.png は 165kB、original.ppm は 224MB です)。

確かに、imagemagick のような最新のツールを使って境界線を見つけてトリミングする方法はありますか?

編集: netpbm ツールは stdin をサポートします。したがって、一時ファイルなしのより良いワンライナーとして:

適切な代替ツール (jpgtopnm、giftopnm など - 71 の可能性すべてから選択してください!) を使用しても、まだ少し扱いに​​くいです。

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

image - 画像内の余分なデータ (PPM/PAM/PNM)

余分なデータをバイナリPNMファイルのピクセルに保存して、画像として読み取ることができるようにすることはできますか(できれば任意のデコーダーで、具体的にはffmpegで)。

現在、データを PPM として保存するシミュレーションがあり、ファイルにピクセルごとに 3 つ以上の値を記録し、それでも画像として使用できるようにしたい (明らかに最初の 3/4 値のみ)実際に画像に影響します)。

パーティクルでは、PAM の TUPLTYPE でこれを行うことができるはずだと思いますが、それから読み取り可能な画像でもあるものを作成する方法がわかりません。

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

image - この pbm 画像の動作がおかしいのはなぜですか

次のコード行から期待される結果が得られない理由を理解しようとしています。

元の画像と test1.pbm(画像1 ) は同じですが、 test2.pbm (画像2 ) は私が期待しているものではありません (前景のピクセルが背景のピクセルになり、その逆)。ここに画像を添付します(jpegに変換)。私は何を間違っていますか?

もう 1 つの問題は、test1.pbm のほとんどの前景ピクセルの値が False であることです。しかし、それは保存された画像には反映されません。

Imagemagick を使用して 、この元の画像http://www.mathgoodies.com/lessons/graphs/images/line_example1.jpgからこれらの画像を両方とも変換しました。test1.jpg

test2.jpg

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

c - C での大きくて狭いイメージの転置

C で大きな .pgm 画像を処理しようとしています。画像は、最初に符号なし char要素の行列として Image 形式で読み取られます。

次の関数を使用して、netpbm (netpbm/pam.h) で画像を読み取ります。

読み込まれた後、画像は ImageF の形式に変換されるため、要素をdoubleとして処理できます。

イメージから ImageF への変換:

実際の画像処理では、画像を転置する必要があるため、次の関数を作成しました。

転置された後、結果を保存するために、イメージは ImageF から Image に変換されます (double を unsigned char に変換します)。

そして最後に、次の関数を使用して保存されます。

入力画像をloadPBMでロードした後、画像メモリ空間の割り当ては正しく行われたと思います。

何らかの理由で、これは正方形の画像や解像度が約 450x700 の画像でも問題なく機能します。しかし、画像が狭くなると (たとえば 170x500)、このアルゴリズムは正しく機能しなくなります。画像が歪んでしまいますが、その理由はわかりません。これは、それほど狭くない他の非正方行列でも機能するためです。誰かが私が間違っていた場所を見つけたり、アドバイスや何かを持っている場合は、非常に感謝しています!

前もって感謝します!