バックナンバーはこちら。
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名が異なる点に注意。
バックナンバーはこちら。
コメント