【入門】Scilabの画像処理概要【数値計算】

【入門】Scilabの画像処理概要【数値計算】 scilab

はじめに

※ MATLAB、Python、Scilab比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/

正直、私自身はScilabで画像処理することはほぼ無い。
調べたところ、IPCV(Scilab Image Processing and Computer Vision toolbox)というtoolboxをインストールするとOpenCVベースのAPIが使用できるようである。
よって、動作確認及び備忘録を残す。

前提:以下の画像を扱う。

犬と自転車

画像読み込み

-->im = imread('dog.jpg');

画像表示

-->imshow(im);
scilab画像表示

画像処理

色成分

ここでは赤の成分だけを抽出してみる。
つまり、緑と青の成分を0にする。

-->im(:,:,(2:3)) = 0;	# G(2番目)、B(3番目)の成分を0にする
-->imshow(im);
scilab画像表示、G(2番目)、B(3番目)の成分を0にする

反転

-->im = im(:,$:-1:1,:);
-->imshow(im);
scilab画像表示、反転

画像書き出し

-->imwrite(im,'dog2.jpg');
scilab画像書き出し

カメラキャプチャ

以下をcapture_camera.sceファイルとして保存する。

function capture_camera()
    avicloseall();
    n = camopen(0);
    while(1)
        im = camread(n);

        // そのまま表示
        b = imdisplay(im,'Press anykey to exit');
        if b == -1
            break
        end
        
        // 左右反転して表示
        b = imdisplay(im(:,$:-1:1,:),'Press anykey to exit.(Mirror)');
        if b == -1
            break
        end

    end

    avicloseall();
    imdestroyall

endfunction

capture_camera();
clear capture_camera;

execで実行。

capture_camera.sce
scilabカメラキャプチャ

まとめ

Scilabで画像を扱うことは少ないが、演算したデータを画像として出力するのも面白いかもしれない。

※ MATLAB、Python、Scilab比較ページはこちら

コメント

タイトルとURLをコピーしました