_AProg2008/tips
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[takataka]] | [[時間割2008]] | [[AProg2008]]
*応用プログラミング演習 2008年度 TIPS集 [#bebe2b15]
//&color(#ff0000){工事中};
#contents
**これは何? [#gd47dcbc]
2008年度「応用プログラミング演習」の演習の際に役立つかもしれないちょっとしたことをまとめてみました.
**あれこれ [#q8996f83]
-[[Docs]]に,高橋の書いた解説文書がいろいろあります.
**画像関係 [#ub3157c4]
***サンプル画像 [#bcb835f8]
-[[uni3.pgm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/uni3.pgm]]
-[[blackuni3.ppm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/blackuni3.ppm]]
-[[uni3-192x144.jpg>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/uni3-192x144.jpg]]
-[[reductionsample1.pgm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/reductionsample1.pgm]]
-[[reductionsample2.pgm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/reductionsample2.pgm]]
-[[reductionsample1.ppm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/reductionsample1.ppm]]
-[[reductionsample2.ppm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/reductionsample2.ppm]]
***いろんなフォーマットの画像をPGMのテキスト形式に変換する方法 [#pe45f795]
計算機室のLinux環境では,次のようにして"P2"な画像ファイルを作ることができます.
適当な画像を使って自分の作った画像処理プログラムの動作をしてみるとよいでしょう.
例: hoge.jpg というJPEG画像を変換したい場合
+ ImageMagickのconvertコマンドで,hoge.jpgを「&color(#0000a0){バイナリ形式};」のPGMファイルに変換(hoge.jpgがカラー画像でも,グレイスケール画像に変換される)
$ convert hoge.jpg hoge1.pgm
+ Netpbmのpgmtopgmコマンドにplainオプションをつけて,hoge1.pgmを「&color(#0000a0){テキスト形式};」のPGMファイルに変換
$ pgmtopgm -plain < hoge1.pgm > hoge2.pgm
+ すると,hoge2.pgm は自分のプログラムでも扱える形式になっているはず.lessで中身を見てみよう
***大きい画像を扱おうとすると Bus Error になるよ〜というときは [#h80a349c]
計算機室のLinux環境で画像を読み書きするプログラムを作っている際に,2次元配列のサイズをあまり大きく宣言すると,プログラムの実行時に Bus Error になるかもしれません.
これは,簡単にいうと,変数のためのメモリ領域が足りなくて発生する現象です.
解決法は高橋に尋ねてください.
終了行:
[[takataka]] | [[時間割2008]] | [[AProg2008]]
*応用プログラミング演習 2008年度 TIPS集 [#bebe2b15]
//&color(#ff0000){工事中};
#contents
**これは何? [#gd47dcbc]
2008年度「応用プログラミング演習」の演習の際に役立つかもしれないちょっとしたことをまとめてみました.
**あれこれ [#q8996f83]
-[[Docs]]に,高橋の書いた解説文書がいろいろあります.
**画像関係 [#ub3157c4]
***サンプル画像 [#bcb835f8]
-[[uni3.pgm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/uni3.pgm]]
-[[blackuni3.ppm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/blackuni3.ppm]]
-[[uni3-192x144.jpg>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/uni3-192x144.jpg]]
-[[reductionsample1.pgm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/reductionsample1.pgm]]
-[[reductionsample2.pgm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/reductionsample2.pgm]]
-[[reductionsample1.ppm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/reductionsample1.ppm]]
-[[reductionsample2.ppm>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2008/AProg/reductionsample2.ppm]]
***いろんなフォーマットの画像をPGMのテキスト形式に変換する方法 [#pe45f795]
計算機室のLinux環境では,次のようにして"P2"な画像ファイルを作ることができます.
適当な画像を使って自分の作った画像処理プログラムの動作をしてみるとよいでしょう.
例: hoge.jpg というJPEG画像を変換したい場合
+ ImageMagickのconvertコマンドで,hoge.jpgを「&color(#0000a0){バイナリ形式};」のPGMファイルに変換(hoge.jpgがカラー画像でも,グレイスケール画像に変換される)
$ convert hoge.jpg hoge1.pgm
+ Netpbmのpgmtopgmコマンドにplainオプションをつけて,hoge1.pgmを「&color(#0000a0){テキスト形式};」のPGMファイルに変換
$ pgmtopgm -plain < hoge1.pgm > hoge2.pgm
+ すると,hoge2.pgm は自分のプログラムでも扱える形式になっているはず.lessで中身を見てみよう
***大きい画像を扱おうとすると Bus Error になるよ〜というときは [#h80a349c]
計算機室のLinux環境で画像を読み書きするプログラムを作っている際に,2次元配列のサイズをあまり大きく宣言すると,プログラムの実行時に Bus Error になるかもしれません.
これは,簡単にいうと,変数のためのメモリ領域が足りなくて発生する現象です.
解決法は高橋に尋ねてください.
ページ名: