Octaveのhisteqとかimadjustがうまく動かない
MATLABは高いからOctaveを導入して早1週間、なかなかの使い心地です。
たまにMATLABとは違う動作をして混乱するぐらいです。
今回はhisteq
で混乱しました。
histeq
は画像のヒストグラムをうまいことして見やすくしてくれるのですが、
filename = 'photo.png' ; img = imread( filename ) ; figure(1) ; clf ; img = histeq(img) ; imagesc( img ) ;
みたいなコードを書いても、真っ暗な画面が表示されるだけでした。
なんやかんやしてからreferenceを見てみると・・・
Function File: J = histeq (I, n)
I: Image in double format, with values from 0.0 to 1.0
http://octave.sourceforge.net/image/function/histeq.html
なるほど、引数はdouble型にしないといけないんですね。
MATLABとは若干仕様が異なるようです。
filename = 'photo.png' ; img = double( imread( filename ) ./ 255 ) ; figure(1) ; clf ; img = histeq(img) ; imagesc( img ) ;
おお、動いた動いた。
imadjust
のほうも同じようにすれば動きました。
うーん、int8型でもちゃんと動くようにして投げてみようかな・・・?
その前にどうやればリクエスト送れるのか調べないといけないですね。後回し後回し。