MATLAB,Python,Scilab,Julia比較 第3章 その7【画像操作⑥】

MATLAB,Python,Scilab,Julia比較 第3章 その7【画像操作⑥】 数値計算
MATLAB,Python,Scilab,Julia比較 第3章 その7【画像操作⑥】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia3-backnumber/

はじめに

各ツール、各言語で画像の読み込み、処理、保存の基本的な記載の仕方を確認していく。
今回はScilabによるカメラキャプチャ。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

カメラキャプチャが可能か?

太郎くん
太郎くん

普段なら次はJuliaの話になるのだろうけど、
カメラキャプチャができる場合は、それの話になるのかな?

フクさん
フクさん

Scilabはカメラキャプチャ可能だ。
というかOpenCVが可能だから、
ScilabのIPCVパッケージでも可能という感じだろう。

太郎くん
太郎くん

じゃー、今回はScilabによるカメラキャプチャの回だねー。

Scilabでカメラキャプチャ

フクさん
フクさん

Pythonの時と同じく、1フレーム取得したら、左右反転させたものも同時に表示する感じのコードにしている。

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;

考察

太郎くん
太郎くん

ちゃんと1フレーム毎にとれて、左右反転できてるね。

太郎くん
太郎くん

Pythonの時はVideoCaptureって関数でカメラデバイスの制御権をもらってた気がするけど、
Scilabの場合は、camopenなんだね。

フクさん
フクさん

OpenCVとしてはVideoCaptureというAPIだな、
IPCVとしてはcamopenというAPIにしてるようだな。

太郎くん
太郎くん

まぁ、ここらへんはパッケージ毎のポリシーだから、
仕方のない事だけど、似ているんだったら、もう合わせてもらった方が助かるんだけどなぁ・・・。

フクさん
フクさん

これはもうそういうものだとして飲み込むしかないな。

まとめ

フクさん
フクさん

まとめだよ。

  • ScilabのIPCVでカメラキャプチャ。
    • Scilab、IPCVというよりOpenCVの機能。
  • 基本的にはPythonで実施したことと同じことは可能。
    • API名が異なる点に注意。

バックナンバーはこちら。

コメント

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