問題タブ [ppm]
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 - Cでのステガノグラフィー
PPM イメージで基本的なステガノグラフィーを実行しようとしています。
基本的なアルゴリズムが完成しました。ファイルを読み込み、ヘッダーが P6 で始まることを確認し、画像の幅と高さ、およびピクセル データを取得します。
ReadPPM、WritePPM、WriteMsg、ReadMsg の合計 4 つのメソッドが必要です。
ReadImg メソッドと WriteImg メソッドは停止していますが、行き詰まっているのは WriteMsg メソッドです。これは、文字列の各ビットを各バイトの最後のビットに書き込むだけの基本的なステガノグラフィです。最初の 8 バイトには、非表示にする文字列のサイズが含まれていると想定され、その後の各バイトが非表示のメッセージを開始します。
私のアイデアは、文字列のサイズのバイナリ コードを保持する大規模な配列を作成し、次に文字列自体のバイナリ コードを作成することでした。その配列を取得して、画像の各バイトに追加する方法を理解しようとしています。
どんな助けでも大歓迎です。これが私の現在のコードです:
c++ - SDL 画面にピクセルを配置する C++
私は SDL から始めており、紹介を読んでいて、drawPixel
彼らが持っている方法を試しています。私がやっているのはppmビューアです。これまでのところ、配列にrgb値があり、正しく保存されています(配列を印刷して、それらがppmファイル内の位置に対応していることを確認してチェックしました)。SDLを使用したい絵を描くこと。これまでのところ、私が書いたコードは次のとおりです(これはmain.cpp
ファイルです。必要な場合はppm.hpp
、ppm.cpp
追加するように教えてください)
これdrawPixel
はイントロダクションで提供されているとおりです。現在、使用しようとしている ppm ファイルが呼び出されcake.ppm
、その 720x540 ですが、このコードをビルドして実行すると、アプリケーションが応答しません。426x299 の小さな ppm ファイルで試してみたところ、ウィンドウに色が付けられたウィンドウが表示されました。
- ファイルで機能せず、他のファイルで機能するのはなぜ
cake.ppm
ですか? サイズによるのでは? - ppm ファイル、2 番目の 426x299 またはその他の ppm ファイルを試すと、色がまったく異なります。なぜですか?
- アプリを実行すると、ピクセルが配置された後、ウィンドウが閉じます。どうすればウィンドウを保持できますか?
filesquares.ppm
を試行すると、次のようになります。
しかし、これは私が得ているものです
mp4 - ffmpeg を使用して ppm から mkv/avi/mp4 に変換されたビデオは、Lightworks で開くことはできませんが、完全に問題なく表示できます。
私は自分の個人的なプロジェクトで gource を機能させようとしています。すべてをセットアップし、すでに ppm 出力をビデオ ファイルに変換しました。問題なくファイルを開いて見ることができます。しかし、プログラムの編集に関しては、Lightworks はそれをロードしません。.mkv、.avi、.mp4 で試してみましたが、うまくいきません。
これが私のコマンドラインコマンドです(バッチファイルで呼び出されます):
.avi および .mp4 の場合のエラー: Format unlicensed
.mkv の場合のエラー:failed to import
どの設定を使用すればよいですか? または、別のプログラムを使用する必要がありますか?
c - C - 赤と緑のコンポーネントを交換するのに助けが必要
このコード (以前の Stack Overflow の質問で見つけたコードを編集したもの) は、ppm 画像の入力を取得して同じ画像を出力できますが、すべての色が補色になります。私の課題では、これを行うように求められますが、赤と緑のコンポーネントを交換する必要があります (基本的に、img->data[i].red を img->data[i].green に、またはその逆にします)。ただし、これを行う方法がわかりません。最初のステートメントは本質的に 2 番目のステートメントを無効にするため、2 つの同等のステートメントを作成することはできません。私が考えることができる唯一のことは、PPMImage 型 (以前に作成された構造体) の一時的な配列を作成することです。ただし、このコードとロジックがどのように機能するかは少しわかりません。
これがコードです。changecolorPPM 関数の「for」ループは、色が補完される場所であり、スワッピングが発生する必要があると確信している場所です。
c - C - PPM を左から右にミラーリングする
PPM 画像のユーザー入力を取得し、画像を左から右にミラーリングするプログラムを作成する必要があります (基本的には、y 軸上で反転します)。したがって、イメージが < の場合、新しいイメージは > になります。これは 180 度回転しないでください。画像が上下逆になるためです。反映されているだけで、同じはずです。
ここに、PPM の入出力に使用したコードがありますが、それをミラーリングする方法がわかりません。理論的にミラーコードに使用される関数を作成しましたが、それが最善の方法であるかどうかもわかりません。コードを配置するより良い場所を知っている場合は、ゲストになってください。
私はこのトピックをかなり調査しましたが、人々が画像を回転させる必要がある問題しか見つけることができませんでした.
これが私がこれまでに持っているものです:
windows - 複数の perl モジュールをインストールするための Windows バッチ ファイル - 最初の行のみが実行されます
Bugzilla を Windows にインストールしていますが、checksetup.pl から、次のように ppm (Perl Package Manager) コマンドを実行して一連のモジュールをインストールするように求められました。
これは正しく実行され、TimeDate モジュールがインストールされます。
これまであまりコマンド ラインの操作を行ったことはありませんでしたが、これを試してみる良い機会になると思いました。そこで、PerlModules.bat というバッチ ファイルを作成しました。
実行すると、次の出力が生成されます。
そのため、バッチ ファイルの最初の行だけが実際に実行され、残りは何も実行されないように見えます。
最後に、ppm の man ページを調べたところ、ppm help
一度にすべてのパッケージ名を渡すことができ、この問題を解決する手間を省けることがわかりましたが、私の小さなバッチ ファイルが機能しなかった理由が本当にわかりません。 .
バッチ ファイルはシェル プロンプトに 1 行ずつフィードし、ファイルの最後に到達するまで、それぞれのジョブが完了するまで待機していると思いました。この方程式に欠けているものは何ですか?
c - 画像をデコードするプログラムの何が問題になっていますか?
画像ファイルが与えられ、実際の画像はランダムなピクセルの後ろに隠されています。赤の値を 10 倍し、緑/青の値をその新しい赤の値に等しく設定して、画像をデコードする必要があります。(そして、色の最大値である 255 を超えることはできません) このプログラムを実行すると、"hidden.ppm" という出力ファイルが作成されます。プログラムを実行しましたが、"Segmentation Fault" しか表示されず、その理由がわかりません。
c - Why am I getting "Segmentation Fault" when I run my program?
My program decodes an image that is covered by random pixels, to decode the image, I have to multiply each pixel's red color component by 10. The green and blue color components are the same values as the new red component. I've created multiple helper functions, to make the code easier to read in main, but when I try to run my a.out, I keep getting "Segmentation Fault". I can't seem to find my mistakes! Help is appreciated.
tcl - ppmtogiff: 多くの色への回避策
私は、.xwd イメージを受け取り、その上で wxdtopnm を実行し、それを ppmtogif にパイプするスクリプトに取り組んでいます。基本的:
ただし、時々エラーが発生します
さて、私はppmquantを試しましたが、簡単に言えば、そのオプションは利用できません。私はpamdepthに出くわしたので、それを試してみたいと思います。ただし、これがどのように適切に使用されているかについての実用的な例を見つけることができず、私は tcl の専門家ではありません。
私は試した
しかし、それはうまくいきませんでした。私はメッセージを受け取ります
誰かが pamdepth を適切に使用する方法の例を示すことができますか?