問題タブ [pgm]
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.
perl - PGM ファイルを読み取る Perl
perl で pgm ファイルを読み取ることさえできません。誰もこれを行う方法を知っていますか? (pgmファイルはASCIIではなくバイナリ版です)
これは私のコードです.pgmファイルのヘッダー部分のみを読み取ろうとしていました:
pgm - Matlab で PGM イメージを読み取れない
私はMatlabでpgmイメージを読み込もうとしています:
そして、私はエラーが発生しています:
imread の使用エラー (382 行目) ファイル形式を判別できません。
私は何をすべきか?
java - PGM または TIFF から JavaFX イメージをできるだけ速く作成する
Javaを使用してスキャナーデバイスから画像をキャプチャしています。入力形式は PGM または TIFF です。ユーザー インターフェイスにライブ結果を表示する必要があります。ImageJ は不完全なストリームも処理できるため、実際にはImageJを使用してソース入力ストリームを tiff として読み取ります。その後、ImagePlus
オブジェクトは に変換され、BufferedImage
最終的に JavaFX に変換されますImage
。
これは非常に遅いです。Image
PGM または TIFF ストリームからJavaFX を作成するより高速な方法が必要です。JavaFX は実際にはこの形式をサポートしていないようで、便利なライブラリが見つかりません。
何か案が?
編集#1
画像のキャプチャを 2 つのステップで最適化することにしました。最初に、UI で画像を更新するときに、状態をより適切に制御する必要があります。これは実際に行われ、正常に動作します。変換スレッドがビジーの場合、更新リクエストがドロップされるようになりました。2 番目のステップは、(提案された実装に基づいて) 自己実装された pnm リーダーを使用し、スキャン プロセスが完了するまでモデルのイメージを段階的に更新することです。これにより、デバイスからイメージをロードするときに必要なリソースが削減されます。これを実現するには、アーキテクチャの一部を変更する必要があります。
@ コメントありがとうございます。
ところで:Java 8ラムダは素晴らしいです:)
編集#2
JavaFXのスレッドテストのため、私の計画はうまくいきません:(
現在WritableImage
、バックエンドにデータを段階的に入力する必要があります。このイメージ インスタンスは、ObjectProperty
最終的に にバインドされる に設定されますImageView
。WritableImage
は に接続されているためImageView
、 を使用してデータを入力することはできませんPixelWriter
。これにより、例外が発生します。
私の回避策はイメージのコピーを作成することですが、この解決策は好きではありません。自動変更通知を防ぎ、これを手動で行うことは可能でしょうか?
c++ - DevIL ライブラリ: グレースケール画像を 1 つではなく 3 つのマトリックスで保存
RGB 画像を GRAYSCALE 画像に変換して PGM 形式で保存するプログラムを作成する必要があります。DevIL ライブラリを使用していますが、画像を保存すると、常に 3D 画像 (3 つの行列) がグレースケールで取得されますが、MATLAB に読み込むと、1 つではなく 3 つの行列が作成されます。DevIL を使用して、出力ファイルでマトリックスを 1 つだけ取得するにはどうすればよいですか?
}
python - PythonでPPMファイルを変更する
こんにちは、私は作成した PGM を持っています。Python を 1 行ずつ読み込みたいと思っています。
紫色のピクセルごとにLSBを変更したいので、これを行うための迅速かつ簡単な方法はありますか
ありがとう
編集
わかりました皆さん、入力画像はPNGファイルです、私たちの大学の、
これは私がこれまで持っているコードです:
テキストと画像を非表示にする必要があります。画像はPPMに変換され、ここで行き詰まります
PPM 画像を読み取って、紫の LSB、理想的には画像の最後の紫の円を変更できるようにしたい
コード:
編集2
私は今データを読みました:
新しい質問は、画像の最後の円だけをターゲットにして変更する方法だと思いますか?
pgm - シンプルな生のバイナリ イメージ ファイル形式
PGM のように単純化された生の画像ファイル形式を探していますが、バーストでピクセルを書き込むことができるようにバイナリでエンコードされています。私は Wikipedia と Google を検索しましたが、複雑なヘッダーなどを持ち始めていないものは見つかりませんでした。そのようなタイプのファイル形式を勧めてくれる人はいますか?
c++ - 配列を水平方向に反転しますか?
pgmファイル[ピクセルのマトリックス、行の設定、列の設定]を配列に取り、水平方向に反転して、再度出力しようとしています。これは私がそれを読んでいる方法です:
したがって、基本的に、図の 2 行目には行と列の 2 つの値が含まれます。たとえば、300 と 500 は、画像が 300 行 500 列であることを意味します。ご覧のとおり、上記の関数はその行を numRows と numCols に読み込んでいます。
後の関数では、ピクセルのペアを交換して画像を水平方向に反転しようとしています (たとえば、一番右のピクセルを最初のピクセルと交換し、一番右のピクセルから 1 を差し引いたものを最初のピクセル + 1 と交換します)。 )
これが私の機能です:
ここでこれの何が問題になっていますか?元の画像とまったく同じ画像を出力しているだけです。説明したように、行ごとに各要素を切り替える必要があります。皆さん、これを新鮮な目で見ていただけませんか?私はこれをしばらく追跡してきましたが、わかりません。
編集: コードを次のように変更しました:
そして、私は文字化けした混乱を得ています。これがオリジナルです: http://i493.photobucket.com/albums/rr294/Jamlegend/mammoth_zps31b72d88.png そしてここに後の写真があります: http://i493.photobucket.com/albums/rr294/Jamlegend/after_zpsdf1a8b40.png
java - .pgm画像を読み取るときにJavaとMatlabの間で異なる値を持つ
機械学習コースのトレーニング セットを用意する必要があります。このトレーニング セットでは、特定の顔画像について、頭の側面 ( Straight 、 Left 、 Right 、 Up ) を表す答えが得られます。
この目的のために、Java で .pgm 画像ファイルを読み取り、そのピクセルを行列 X の 1 行に格納してから、この画像の適切な正解を y ベクトルに格納する必要があります。最後に、これら 2 つの配列を .mat ファイルに保存します。
問題は、(P2 .pgm) 画像からピクセル値を読み取って console に出力しようとすると、matlab マトリックス ビューアーと同じ値が得られないことです。何が問題になるでしょうか?
これは私のコードです:
これらは私が得る値です: 50 49 32 50 32 49 32 48 32 50 32 49 56 32 53 57
この写真は、実際に MATLAB Viewer からの画像に含まれているものです: (申し訳ありませんが、評判が悪いため画像を投稿できません)
これは、notepad++ で .pgm ファイルを開くと表示されるものです。
java - PGM ファイルの読み取りと書き込み
宿題として、.pgm ファイルを読み込み、ピクセル値を変更して正方形を描画し、新しい画像を出力することになっています。ピクセルを調べて変更した後、実際に追加されたことを確認する方法として、ピクセルをすべて .txt に出力します。私が問題を抱えているのは、新しいファイルの書き込みです。バイナリであることがわかっているので、グーグルで検索した後、DataOutputStreamを使用する必要があると思いますが、間違っている可能性があります。ファイルを書き込んだ後、そのサイズは 1.9MB ですが、元のファイルは 480KB しかないので、すぐに何か問題があるのではないかと思います。.pgm ファイルへの書き込みに関するアドバイスやヒントをいただければ幸いです。
新しいファイルを開こうとすると、「不正な画像形式」というエラー メッセージが表示され、元のファイルは正しく開きます。