魚眼画像、全方位画像の展開プログラミング
40 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
takumi honda
il 14 Ott 2019
Commentato: takumi honda
il 25 Ott 2019
魚眼画像、全方位画像、を展開する構文を作りたいのですが、計算上は理解できているのですが、構文に起こせません。お教えいただけると幸いです。
10 Commenti
Yoshio
il 17 Ott 2019
Modificato: Yoshio
il 18 Ott 2019
Kenta Itakura さん、ありがとうございます。
魚眼カメラ(fish-eye camera)と全方位カメラ(omni-directional camera)とは別物、ということが分かりました。従って両者の画像上の点と3次元空間の対応関係式は異なりますが、ヴインストン株式会社の全方位カメラ の場合、以下のような情報があります。
他にも文献がありますね。
カメラの焦点距離と、ミラーの双曲面の形状を定義する定数パラメータは恐らくチェッカーボードを複数おいた画像を使えば推定できるのではないかと思います。
こちらに関連の情報があります。
に行き着きます。
Risposta accettata
Takashi Ueno
il 16 Ott 2019
興味があったのでちょっと作ってみましたが、こんな感じでしょうか?
雑にお絵描きして元画像を作ったので、結果も歪んでますが、参考にしていただければ。
使用した画像は添付しておきます。
clear
close all
I=imread('test.png');
I=rgb2gray(I);
figure
imshow(I)
% 切り出し中心
c=[190,198];
% 切り出し半径
R=175;
% 分割の角度数
angles=360;
% 極座標の設定
theta=linspace(0,2*pi,angles);
rho=1:R;
theta_array=kron(theta,ones(1,length(rho)));
rho_array=repmat(rho,1,angles);
% 極座標から直交座標に変換
[x,y]=pol2cart(theta_array,rho_array);
% 原点を画像中心から左上(1,1)にオフセット
x_f=x+c(2);
y_f=y+c(1);
% 直交座標は小数になるので、bilinearでの内挿を作成
F = griddedInterpolant(double(I));
% クエリ点の値の取得
I2=F(y_f',x_f');
% I2は1次元配列なのでreshape
I2=reshape(I2,length(x_f)/angles,angles);
figure
imshow(I2/255)
4 Commenti
Kenta
il 19 Ott 2019
上に解説をいただき、ありがとうございます。
こちらのコード例について質問させていただけませんか。
Yoshio様よりご紹介いただいた、こちらのリンクhttps://www.youtube.com/watch?v=3IhXJR1ejeY
では透視投影変換の式が出てきていますが、こちらのコードではそのパラメータに関する情報がどれに対応しているのか追いきれませんでした。例えば、このリンクのa, b, cは、カメラのレンズの形(双曲線)を表していると思うのですが(こちらも不勉強で私の理解が間違っているかもしれません)、ここでは、きれいな半球のレンズを想定されている、ということでしょうか。
Più risposte (1)
takumi honda
il 22 Ott 2019
2 Commenti
Takashi Ueno
il 24 Ott 2019
極座標から直交座標系に変換した際、そこの画素値を求めるために補間を使用しています。
griddedInterpolantでの内挿の作成の際、チャンネルごとに行えばカラーでも問題ないです。座標は使いまわせるはずです。
私の場合、お絵描きで画像を作った際、グレースケールだけで作ったのですが、画像がRGBで出ていたのでグレースケール化しただけです。
Vedere anche
Categorie
Scopri di più su MATLAB Support Package for USB Webcams in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!