日記/2010-04-03/octave で画像処理 - 画像の読み書き・表示
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
リンク元
]
開始行:
* octave で画像処理 - 画像の読み書き・表示 [#j81b4f14]
[http://www.gnu.org/software/octave/ GNU Octave] という行...
今のところ特にオチは用意していないので,うまくまとまるか...
とりあえず,画像ファイルの読み書きから.
** 画像の読み込み [#d928c991]
imread コマンドを使います.
imread の引数にはファイル名を指定します.
octave:2> [ x, m, a ] = imread ( 'DSCF0135.JPG' );
左辺値は
:x|各画素の輝度値
:m|カラーマップ
:a|アルファチャンネル(透明度)
だそうです.
m, a は読み捨てて構いません.
で,問題は x ですが,内容を表示させてみます.
x =
ans(:,:,1) =
Columns 1 through 16:
31 32 33 36 36 37 36 36 32 34 37 ...
36 37 37 37 37 38 39 40 38 41 40 ...
36 37 38 37 35 37 40 44 46 47 45 ...
…
ans(:,:,1) というところに注目.
どうやら3次元の行列になっているようです.
RGBの各プレーンの輝度が
:x(:,:,1)|red
:x(:,:,2)|blue
:x(:,:,3)|green
という割振りで格納されています.
** 画像の表示 [#ec5fefee]
imshow() コマンドを使います.
octave:11> imshow ( x )
別ウィンドウが開いて先ほど読み込んだ画像が表示されます.
ただ,大きな画像の場合はフルサイズではなく,適当に縮小さ...
** 画像の保存 [#s6d407b9]
imwrite() コマンドを使います.
octave:15> imwrite ( x, 'foo.png', 'png' );
引数は
:x|RGB の 3 プレーンが格納された 3 次元行列
:foo.png|ファイル名
:png|ファイル形式
です.
ファイル形式は jpg なんかも指定できますが,もちろん lossy...
終了行:
* octave で画像処理 - 画像の読み書き・表示 [#j81b4f14]
[http://www.gnu.org/software/octave/ GNU Octave] という行...
今のところ特にオチは用意していないので,うまくまとまるか...
とりあえず,画像ファイルの読み書きから.
** 画像の読み込み [#d928c991]
imread コマンドを使います.
imread の引数にはファイル名を指定します.
octave:2> [ x, m, a ] = imread ( 'DSCF0135.JPG' );
左辺値は
:x|各画素の輝度値
:m|カラーマップ
:a|アルファチャンネル(透明度)
だそうです.
m, a は読み捨てて構いません.
で,問題は x ですが,内容を表示させてみます.
x =
ans(:,:,1) =
Columns 1 through 16:
31 32 33 36 36 37 36 36 32 34 37 ...
36 37 37 37 37 38 39 40 38 41 40 ...
36 37 38 37 35 37 40 44 46 47 45 ...
…
ans(:,:,1) というところに注目.
どうやら3次元の行列になっているようです.
RGBの各プレーンの輝度が
:x(:,:,1)|red
:x(:,:,2)|blue
:x(:,:,3)|green
という割振りで格納されています.
** 画像の表示 [#ec5fefee]
imshow() コマンドを使います.
octave:11> imshow ( x )
別ウィンドウが開いて先ほど読み込んだ画像が表示されます.
ただ,大きな画像の場合はフルサイズではなく,適当に縮小さ...
** 画像の保存 [#s6d407b9]
imwrite() コマンドを使います.
octave:15> imwrite ( x, 'foo.png', 'png' );
引数は
:x|RGB の 3 プレーンが格納された 3 次元行列
:foo.png|ファイル名
:png|ファイル形式
です.
ファイル形式は jpg なんかも指定できますが,もちろん lossy...
ページ名:
-->