ズッキーニのプログラミング実験場

プログラミング + アカデミック + 何か面白いこと。 記載されているものは基本的に私が所属する団体とは関係がありません。

   Jul 05

[Haskell]PGMファイルを生成する part1

by zuqqhi2 at 2013年7月5日
Pocket

やりたいこと

今後Haskellで画像処理をするためにPGMファイルを生成させてみる。

プログラム

まずはヘッダを出力するところまで。

main = do
    -- PGM Header
    let pgm_type = "P5\n"
    let pgm_comment = "# PGM type grayscale image\n"
    let pgm_size = (255,255)
    let pgm_max_brightness = 255

    let pgm_size_string = (show (fst pgm_size)) ++ " " ++ (show (snd pgm_size)) ++ "\n"
    let pgm_max_brightness_string = (show pgm_max_brightness) ++ "\n"
    let pgm_header = pgm_type ++ pgm_comment ++ pgm_size_string ++ pgm_max_brightness_string
    -- Main
    writeFile "test.pgm" pgm_header

コンパイルして実行してみる。

$ghc pgm.hs
$./pgm
$cat test.pgm
P5
# PGM type grayscale image
255 255
255

Related Posts

  • 2013年7月6日 [Haskell]PGMファイルを生成する part2 昨日の続きで HaskellでPGMファイルを生成してみる。 今日は、乱数列を生成してみた。 出力はこんな感じ。 あとは出力形式整えるだけだ!I'll do yesterday's thing. It's making […]
  • 2013年7月7日 [Haskell]PGMファイルを生成する part3 やりたいこと 昨日まででランダムな配列を作成することが出来るようになったから、 出力の形式を整えてPGMファイルを生成する。 プログラム foldrを使ってこんな感じで書いてみた。 実行するとこんな感じの内容のファイルができる。 […]
  • 2013年7月8日 [Haskell]PGMファイルを読み込む part1 やりたいこと HaskellでPGMファイルを生成することができたから、 今度は入力出来るようにしてみたい。 プログラム とりあえずヘッダーを読み込んで出力するところまで。 実行してみる。 Target I could output […]
  • 2013年7月9日 [Haskell]PGMファイルを読み込む part2 やりたいこと 昨日まででヘッダーは読み込めるようになったため、 今度はピクセルの情報を読みだす。 プログラム プログラムは以下の感じ。 入力画像 出力画像 うまくいっているみたいだ。 What I want to […]
  • 2013年7月13日 [Haskell]画像処理 水平方向のエッジ やりたいこと 水平方向の微分で水平方向のエッジ画像を出力する。 プログラム プログラムはこんな感じ。 結果 入力画像 出力画像 Target Output horizontal edge image. Program […]
  • 2013年7月11日 [Haskell]反転画像の生成 やりたいこと 前回まででPGM形式の画像の出力、読み込みができるようになったから、 今度は画像処理をやってみる。 今回は一番簡単な、反転画像を作る。 プログラム だいたいこんな感じ。 […]
Pocket

You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.