AProg/2017/ex07B
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
第7回課題全体のページはこちら → [[AProg/2017/ex07]]
**応用プログラミング及び実習 2017年度 第7回 課題B [#bebe2...
&color(blue){画像処理プログラムの作成};
他人が作ったプログラムを利用して,画像処理をするプログラ...
***画像の用意 [#e182eb79]
この課題のプログラムでは,アスキー形式(テキスト形式)のP...
+ 適当なカラー画像を入手.ブラウザでダウンロードするなり...
+ 画像の形式を変換.次のようにコマンドを実行すると,hoge....
// $ convert hoge.jpg ppm:- | pnmtoplainpnm > hoge....
$ convert hoge.jpg -compress none hoge.ppm
-- ここでは入力として,拡張子に .jpg とついた JPEG 画像を...
-- 上記のようにコマンドを実行すると,入力がグレイスケール...
//-- commandA | commandB のように2つのコマンドを "|" でつ...
***プログラムの入手 [#l4fb0a49]
この課題で利用するプログラムを入手しよう.課題Aで zipsear...
:hogeimage.c| 画像処理の関数群を定義したソースファイル.
:hogeimage.h| 上記を利用する際にインクルードすべきヘッダ...
:ex07image.c| それらを使ったプログラムのサンプル.
***プログラムの作成 [#yffc2ac3]
ex07image.c を修正して(他の2つは修正不要),[[第5回課題D...
- このページの下の方に hogeimage.c で用意された関数の仕様...
- 第5回課題Dのメニュー項目を次のように一つ増やし,そのメ...
#pre{{
次のことができるよ: [1] 画素値反転 [2] 左右反転 [3] 上...
どうする?:
}}
- hogeimage.c では数学関数を使っているので,コンパイルの...
$ cc hogeimage.o ex07image.o -lm -o ex07image
いきなり完成形を考えるのは難しいかもしれない.次のように...
+ 入手したファイルをそのままコンパイルして実行してみる
+ メニューで処理を選択できるようにするのは後回しにして,e...
+ メニュー形式で処理を選択できるようにする
***関数の仕様など [#ee425f15]
hogeimage.h と hogeimage.c で定義されたもののうち,外部か...
:Image型| 一つの画像の情報をひとまとめに扱うための構造体...
:Image *hogeCreateImage(int width, int height, int maxp)|...
--width: 画像の幅
--height: 画像の高さ
--maxp: 画素値の最大値
--戻り値: 幅 width, 高さ height,画素値の最大 maxp の画...
:Image *hogeReadPPM(char filename[])| 引数で指定されたフ...
--filename: ファイル名
--戻り値: 読み込みに成功した場合は,その画像の情報を格納...
:Image *hogeWritePPM(char filename[], Image *img)| 引数で...
--filename: ファイル名
--img: 画像
--戻り値: 書き出しに成功した場合は,引数 img と同じ値.失...
:void hogeNegate(Image *img)| 画素値を反転する関数.
--img: 画像
:void hogeFlip(Image *img, int flipMethod)| 画像を上下左...
--img: 画像
--flipMethod: 0以上なら左右反転,0以下なら上下反転(つま...
:void hogeUzumaki(Image *img, int radius, double thetamax...
--img: 画像
--radius: うずまきの半径
--thetamax: うずまき回転角の最大値(ラジアン)
終了行:
第7回課題全体のページはこちら → [[AProg/2017/ex07]]
**応用プログラミング及び実習 2017年度 第7回 課題B [#bebe2...
&color(blue){画像処理プログラムの作成};
他人が作ったプログラムを利用して,画像処理をするプログラ...
***画像の用意 [#e182eb79]
この課題のプログラムでは,アスキー形式(テキスト形式)のP...
+ 適当なカラー画像を入手.ブラウザでダウンロードするなり...
+ 画像の形式を変換.次のようにコマンドを実行すると,hoge....
// $ convert hoge.jpg ppm:- | pnmtoplainpnm > hoge....
$ convert hoge.jpg -compress none hoge.ppm
-- ここでは入力として,拡張子に .jpg とついた JPEG 画像を...
-- 上記のようにコマンドを実行すると,入力がグレイスケール...
//-- commandA | commandB のように2つのコマンドを "|" でつ...
***プログラムの入手 [#l4fb0a49]
この課題で利用するプログラムを入手しよう.課題Aで zipsear...
:hogeimage.c| 画像処理の関数群を定義したソースファイル.
:hogeimage.h| 上記を利用する際にインクルードすべきヘッダ...
:ex07image.c| それらを使ったプログラムのサンプル.
***プログラムの作成 [#yffc2ac3]
ex07image.c を修正して(他の2つは修正不要),[[第5回課題D...
- このページの下の方に hogeimage.c で用意された関数の仕様...
- 第5回課題Dのメニュー項目を次のように一つ増やし,そのメ...
#pre{{
次のことができるよ: [1] 画素値反転 [2] 左右反転 [3] 上...
どうする?:
}}
- hogeimage.c では数学関数を使っているので,コンパイルの...
$ cc hogeimage.o ex07image.o -lm -o ex07image
いきなり完成形を考えるのは難しいかもしれない.次のように...
+ 入手したファイルをそのままコンパイルして実行してみる
+ メニューで処理を選択できるようにするのは後回しにして,e...
+ メニュー形式で処理を選択できるようにする
***関数の仕様など [#ee425f15]
hogeimage.h と hogeimage.c で定義されたもののうち,外部か...
:Image型| 一つの画像の情報をひとまとめに扱うための構造体...
:Image *hogeCreateImage(int width, int height, int maxp)|...
--width: 画像の幅
--height: 画像の高さ
--maxp: 画素値の最大値
--戻り値: 幅 width, 高さ height,画素値の最大 maxp の画...
:Image *hogeReadPPM(char filename[])| 引数で指定されたフ...
--filename: ファイル名
--戻り値: 読み込みに成功した場合は,その画像の情報を格納...
:Image *hogeWritePPM(char filename[], Image *img)| 引数で...
--filename: ファイル名
--img: 画像
--戻り値: 書き出しに成功した場合は,引数 img と同じ値.失...
:void hogeNegate(Image *img)| 画素値を反転する関数.
--img: 画像
:void hogeFlip(Image *img, int flipMethod)| 画像を上下左...
--img: 画像
--flipMethod: 0以上なら左右反転,0以下なら上下反転(つま...
:void hogeUzumaki(Image *img, int radius, double thetamax...
--img: 画像
--radius: うずまきの半径
--thetamax: うずまき回転角の最大値(ラジアン)
ページ名: