2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ICBI の MATLAB コードを GNU Octave で動かす

Last updated at Posted at 2020-04-10

機械学習以前のレガシーな超解像変換のひとつ ICBI を試すのに参照コードが MATLAB で、それを Octave で動かすだけのメモ書きです。

なお、以前、iNEDI で似た事をしたのですが、それより少し手順を改善してます。

準備

Octave インストール

  • Ubuntu だと snap install octave
  • macOS は brew install octave で良いでしょう。

octave forge

image パッケージを入れます。

$ octave
GNU Octave, version 4.2.2
(略)
octave:1> pkg install -forge image
For information about changes from previous versions of the image package, run 'news image'.
octave:2> pkg list
Package Name  | Version | Installation directory
--------------+---------+-----------------------
       image  |  2.12.0 | /home/yoya/octave/image-2.12.0

環境設定 (.octave)

octave コマンドを引数なしで実行して対話モードに入り、毎度 pkg load image しても良いですが、.octave に一行入れるとサボれます。

  • .octave
pkg("load", "image");

また、ICBI は div zero の警告が大量に出て、メッセージが埋もれるので以下の設定も入れると良いでしょう。

warning("off","Octave:divide-by-zero");

警告が減って、大事なメッセージを見落としにくくなります。ICBI を試した後はコメントアウトしとくと良いでしょう。

変換

なお自分は imshow をコメントアウトして、imwrite をコメントから戻して実行してます。

% octave icbiexample.m
ICBI function example.
This is an example script that shows you how to use the icbi.m function.
Please check the documentation inside this file for further information.

[   0.000 sec] LAYER: 01
[   0.000 sec]    ZF: 01
[   0.012 sec]        PHASE: 00
warning: division by zero
warning: called from
    icbi at line 375 column 34
    icbiexample at line 55 column 10
(略)
[4615.394 sec]        PHASE: 01
warning: division by zero
warning: called from
    icbi at line 375 column 34
    icbiexample at line 55 column 10
(略)
[5796.262 sec] END
testimage.png testimage_icbi.png
testimage.png testimage_icbi.png

128x128 を 255x255 にするのに 1時間36分!!! なかなか重たいアルゴリズムのようです。

追記

MATLAB (2020年版)で試したところ、約2秒でした。 3000倍近く速い。。
恐らくは、div zero 警告の出力に足を引っ張られているのでしょう。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?