(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-27
(45)【発行日】2022-11-07
(54)【発明の名称】撮影装置およびプログラム
(51)【国際特許分類】
G03B 17/56 20210101AFI20221028BHJP
G03B 37/00 20210101ALI20221028BHJP
G03B 15/00 20210101ALI20221028BHJP
H04N 5/222 20060101ALI20221028BHJP
H04N 5/232 20060101ALI20221028BHJP
【FI】
G03B17/56 A
G03B37/00 A
G03B15/00 W
H04N5/222 100
H04N5/232 060
H04N5/232 380
H04N5/232 290
(21)【出願番号】P 2018020569
(22)【出願日】2018-02-07
【審査請求日】2021-02-04
【前置審査】
(73)【特許権者】
【識別番号】518045258
【氏名又は名称】株式会社アクセル
(74)【代理人】
【識別番号】100166464
【氏名又は名称】山元 真人
(72)【発明者】
【氏名】江藤 淳
【審査官】辻本 寛司
(56)【参考文献】
【文献】中国実用新案第206757291(CN,U)
【文献】中国実用新案第206743361(CN,U)
【文献】国際公開第2017/176352(WO,A1)
【文献】特開2016-057602(JP,A)
【文献】特開2008-167244(JP,A)
【文献】米国特許出願公開第2015/0108777(US,A1)
【文献】米国特許出願公開第2017/0294045(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G03B 17/56
G03B 37/00
G03B 15/00
H04N 5/222
H04N 5/232
(57)【特許請求の範囲】
【請求項1】
魚眼レンズ使用のパノラマカメラを装着する取り付け部を有して自立する一脚で、該一脚は半透明であ
り、撮影画像から該一脚部分の画素階調データに基づいて該一脚部分の位置を特定して抽出し、該一脚部分に補正処理を施すことで360度全周囲が写っていることを特徴とする撮影装置。
【請求項2】
魚眼レンズ使用のパノラマカメラを装着する取り付け部を有して自立する一脚で、該一脚は半透明である撮影装置を制御するコンピュータに、
撮影画像から該一脚部分
の画素階調データに基づいて該一脚部分の位置を特定して抽出し、該一脚部分に補正処理を施して360度全周囲が写った画像を実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、1回の撮影でパノラマカメラを取り囲む360度全周囲の撮影対象物を撮影することができる自立型透明一脚を用いたパノラマ撮影装置および画像処理に関する。
【背景技術】
【0002】
従来、三脚にパノラマカメラを取り付けて360度全周囲について撮影対象物を撮影している。例えば特許文献1に記載された撮影装置は、三脚にパノラマカメラが取り付けられている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載された発明は、三脚部分が写り込んでしまうため360度全周囲を三脚に邪魔されることなく撮影することはできなかった。
本発明は、上述した課題に鑑みてなされたものであり、1回の撮影でパノラマカメラを取り囲む360度全周囲の撮影対象物を撮影することができる自立型透明一脚を用いたパノラマ撮影装置および画像処理をすることを目的とする。
【課題を解決するための手段】
【0005】
撮影装置はパノラマカメラを装着する取り付け部を有して自立する一脚で、該一脚は半透明であることを特徴とする。
【0006】
また、撮影装置は、パノラマカメラと、該パノラマカメラを装着して自立する半透明一脚と、該パノラマカメラに無線LANを介して接続されていて該パノラマカメラを操作する情報端末と、を備えたことを特徴とする。
【0007】
また、撮影装置は、撮影画像から一脚部分を抽出し、該一脚部分に補正処理を施すことで360度全周囲が写っていることを特徴とする。
【発明の効果】
【0008】
本発明によれば、パノラマカメラを支える脚の写り込みを極力少なくしたり、画像処理により脚が写り込んでいないようにしたりすることができる。
【図面の簡単な説明】
【0009】
【
図3】補正処理の第1実施形態のフローを示した図である
【
図8】補正処理の第1実施形態の取得画素について説明した図である
【
図9】補正処理の第1実施形態の補正順序を説明した図である
【
図10】補正処理の第2実施形態のフローを示した図である
【
図11】補正処理の第2実施形態の取得画素について説明した図である
【発明を実施するための形態】
【0010】
以下、本発明のパノラマ撮影装置について
図1に基づいて説明する。
【0011】
パノラマ撮影装置1は、棒状又は伸縮可能な棒状で半透明な自立型一脚支持部材2の先端部にパノラマカメラ3が着脱可能に取り付けられている。
【0012】
パノラマ撮影装置1は、パノラマカメラ3の底部に形成した脚穴に支持部材2の雄ねじ部の先端を螺合して組立てることができる。
【0013】
パノラマカメラ3は本体の両面が略平板状に形成されており、その両表面に撮影用の魚眼レンズ4が取り付けられていて、180度強の撮影画角で半球分の撮影対象物を撮影できる。そのため、両面の魚眼レンズ4によって同時に撮影することで1回の撮影でパノラマカメラ3を取り囲む360度全周囲の撮影対象物を撮影することができる。
【0014】
そして、このようなパノラマ撮影装置1のパノラマカメラ3をリモートで撮影するために、パノラマカメラ3は例えばWi-Fi等の無線LANを介して例えばスマートフォン5(或いはタブレット端末等の各種の無線携帯端末やパソコン)等の無線情報端末と接続している。
【0015】
次にパノラマ撮影装置1の使用方法について説明する。
まず、スマートフォン5やパソコン等で観察して、パノラマカメラ3が正常に作動してきちんと写っているか確認する。
【0016】
そして、スマートフォン5の画面にあるパノラマカメラ3のシャッター操作をするためにある撮影ボタンを押し、それに対応してリモートでパノラマカメラ3のシャッター操作がされて撮影が行われる。
【0017】
撮影された画像は、360度全周囲が写り、しかも、支持部材2は棒状で半透明な自立型1脚なので、支持部材2がほとんど写らずに360度全周囲をほぼ完璧に撮影することができる。
【0018】
次に、本発明の第二実施形態であるパノラマ撮影装置により撮影された画像の処理について説明する。
【0019】
前述した第一実施形態で撮影された画像はわずかではあるが支持部材2が映り込んでいて、360度全周囲を完璧に撮影することはできなかった。そこで、画像処理を施すことで360度全周囲を完璧に撮影した画像にする。以下で詳しく説明する。
【0020】
パノラマカメラ3には制御部6と記憶部7が内蔵されており、制御部6は記憶部7を制御する。構成を
図2に示す。
【0021】
記憶部7は、支持部材2の画素階調データ(ここでは色の表現法であるRGBを16進数6桁で表したカラーコードについて説明するが、その他にも、例えば、明度・彩度・色相から構成されるHSV色空間に関するデータなどでも構わない)、パノラマカメラ3で撮影された画像データおよび画像処理により修正された補正後の画像データを格納する。
【0022】
なお、画像データは各画素の位置座標及び画素階調データから構成される。ここで、画素の位置座標について説明する。画素が横方向に並んだものを行、画素が縦方向に並んだものを列といい、行の番号は上から下方向へ順番に振られており、列の番号は左から右方向へ順番に振られている。画素の行番号を変数i、列番号を変数jで表現し、任意の画素の位置情報はi行j列と表す。
【0023】
次に、
図3~
図7のフローチャートを参照して、パノラマカメラ3が実行する支持部材2に関する補正処理についての第1実施形態を説明する。
【0024】
まず、制御部6は補正処理を実行するためのプログラムを記憶部7から読み出して処理を開始し、あらかじめ記憶部7に格納されている支持部材2の画素階調データを読み出してきて、撮影画像のうち当該画素階調データと同一部分を探し、支持部材2が写っている部分を特定する(ステップS101)。
【0025】
制御部6はステップS101の処理を完了すると、支持部材2の部分と支持部材2の周囲上下左右1画素分の画像データを収集し、記憶部7に格納する(ステップS102)。ここで、画素の配置の具体例を
図8に示し、支持部材2の部分の画素が縦7行×横6列の長方形である場合を
図8は描いている。
【0026】
制御部6はステップS102の処理を完了すると、記憶部7に格納された支持部材2の部分である画素の位置情報(i行j列)のうち、行と列のそれぞれについて最小数値を求める(ステップS103)。これにより、
図9に示す通り、処理が開始される支持部材2の最も左上の位置を特定する。
【0027】
制御部6はステップS103の処理を完了すると、画素の位置情報(i行j列)について、変数iに行の最小数値を、変数jに列の最小数値を入れる(ステップS104)。
【0028】
制御部6は、ステップS104の処理を完了した後、補正処理1の処理を行う(ステップS105)。
【0029】
ここで、
図4に示すフローチャートを参照して、補正処理1について説明する。
【0030】
補正処理1は、支持部材2の特定の1行を横方向(左から右へ)に補正処理する手順を説明している。
【0031】
まず、制御部6は画素の位置がi行j列の画素データの値を算出するため、画素の位置が(i-1)行(j-1)列、(i-1)行j列、(i-1)行(j+1)列の画素データを記憶部7から読み出す(ステップS201)。
【0032】
制御部6はステップS201の処理を完了すると、記憶部7から読み出した、画素の位置が(i-1)行(j-1)列、(i-1)行j列、(i-1)行(j+1)列である三個の画素の画素データについて、加算平均を求める(ステップS202)。
【0033】
ここで、三個の画素データを加算平均する計算について説明する。画素データは16進数6桁であり1桁目と2桁目がR(赤色)、3桁目と4桁目がG(緑色)、5桁目と6桁目がB(青色)を表している。三個の画素データをRGBにそれぞれ分けて加算平均し、それぞれについて小数点第一位を7捨8入(10進数での四捨五入に相当する)し16進数2桁にし、1桁目と2桁目に求めたRの値、3桁目と4桁目に求めたGの値、5桁目と6桁目に求めたBの値にして16進数6桁に構成して画素値を求める。
【0034】
具体的には、三個のそれぞれの画素データの1桁目と2桁目について加算平均と小数点第一位を7捨8入してRを求め、三個のそれぞれの画素データの3桁目と4桁目について加算平均と小数点第一位を7捨8入してGを求め、三個のそれぞれの画素データの5桁目と6桁目について加算平均と小数点第一位を7捨8入してBを求め、求めたRを1桁目と2桁目、求めたGを3桁目と4桁目、求めたBを5桁目と6桁目に構成した16進数6桁の画素データが求める画素値となる。
【0035】
より具体的に計算例を示すと、三個の画素データが123456、789ABC、DEFEDCの場合、R(赤色)について三個の画素データの1桁目と2桁目を加算平均と小数点第一位を7捨8入して求めると、(12+78+DE)/3=168/3=78なので求める値は78である。次に、G(緑色)について三個の画素データの3桁目と4桁目を加算平均と小数点第一位を7捨8入して求めると、(34+9A+FE)/3=1CC/3=99.5・・・なので求める値は99である。次に、B(青色)について三個の画素データの5桁目と6桁目を加算平均と小数点第一位を7捨8入して求めると、(56+BC+DC)/3=1EE/3=A4.A・・・なので求める値はA5である。以上から、求める画素データの画素値(16進数)は7899A5である。
【0036】
制御部6はステップS202の処理を完了すると、求めた加算平均の値を、画素の位置がi行j列の画素データの値として記憶部7に格納する(ステップS203)。
制御部6はステップS203の処理を完了すると、変数jについて1を加算する(ステップS204)。
【0037】
制御部6はステップS204の処理を完了すると、画素の位置がi行(j+1)列の画素データが支持部材2であるかどうか判定し(ステップS205)、もし画素の位置がi行(j+1)列の画素データが支持部材2であればステップS201からの処理を繰り返してi行(j+1)列の画素データの値を算出し(ステップS205:YES)、もし画素の位置がi行(j+1)列の画素データが支持部材2でなければ補正処理1を終了する(ステップS205:NO)。
【0038】
次に
図3のフローに戻って、制御部6は補正処理2の処理を開始する(ステップS106)。
【0039】
ここで、
図5に示すフローチャートを参照して、補正処理2について説明する。
補正処理2は、支持部材2の特定の1列を縦方向(上から下へ)に補正処理する手順を説明している。
【0040】
まず、制御部6は変数iの値を1増やし、画素の位置が(i-1)行(j+1)列、i行
(j+1)列、(i+1)行(j+1)列の画素データを記憶部7から読み出す(ステップS301)。
【0041】
制御部6はステップS301の処理を完了すると、記憶部7から読み出した画素の位置が(i-1)行(j+1)列、i行(j+1)列、(i+1)行(j+1)列である三個の画素の画素データについて、加算平均を求める(ステップS302)。
【0042】
制御部6はステップS302の処理を完了すると、求めた加算平均の値を画素の位置がi行j列の画素データの値として記憶部7に格納する(ステップS303)。
制御部6はステップS303の処理を完了すると、変数iについて1を加算する(ステップS304)。
【0043】
制御部6はステップS304の処理を完了すると、画素の位置が(i+1)行j列の画素データが支持部材2であるかどうか判定し(ステップS305)、もし画素の位置が(i+1)行j列の画素データが支持部材2であればステップS301からの処理を繰り返し(ステップS305:YES)、もし画素の位置が(i+1)行j列の画素データが支持部材2でなければ補正処理2を終了する(ステップS305:NO)。
【0044】
次に
図3のフローに戻って、制御部6は補正処理3の処理を開始する(ステップS107)。
【0045】
ここで、
図6に示すフローチャートを参照して、補正処理3について説明する。
補正処理3は、支持部材2の特定の1行を横方向(右から左へ)に補正処理する手順を説明している。
【0046】
まず、制御部6はjの値を1減らし、画素の位置が(i+1)行(j-1)列、(i+1)行j列、(i+1)行(j+1)列の画素データを記憶部7から読み出す(ステップS401)。
【0047】
制御部6はステップS401の処理を完了すると、記憶部7から読み出した画素の位置が(i+1)行(j-1)列、(i+1)行j列、(i+1)行(j+1)列である三個の画素の画素データについて、加算平均を求める(ステップS402)。
制御部6はステップS402の処理を完了すると、求めた加算平均の値を画素の位置がi行j列の画素データの値として記憶部7に格納する(ステップS403)。
制御部6はステップS403の処理を完了すると、変数jについて1を減算する(ステップS404)。
【0048】
制御部6はステップS404の処理を完了すると、画素の位置がi行(j-1)列の画素データが支持部材2であるかどうか判定し(ステップS405)、もし画素の位置がi行(j-1)列の画素データが支持部材2であればステップS401からの処理を繰り返し(ステップS405:YES)、もし画素の位置がi行(j-1)列の画素データが支持部材2でなければ補正処理3を終了する(ステップS405:NO)。
【0049】
次に
図3のフローに戻って、制御部6は補正処理4の処理を開始する(ステップS108)。
【0050】
ここで、
図7に示すフローチャートを参照して、補正処理4について説明する。
補正処理4は、支持部材2の特定の1列を縦方向(下から上へ)に補正処理する手順を説明している。
【0051】
まず、制御部6はiの値を1減らし、画素の位置が(i-1)行(j-1)列、i行(j-1)
列、(i+1)行(j-1)列の画素データを記憶部7から読み出す(ステップS50
1)。
【0052】
制御部6はステップS501の処理を完了すると、記憶部7から読み出した画素の位置が(i-1)行(j-1)列、i行(j-1)列、(i+1)行(j-1)列である三個の画素の画素データについて、加算平均を求める(ステップS502)。
【0053】
制御部6はステップS502の処理を完了すると、求めた加算平均の値を画素の位置がi行j列の画素データの値として記憶部7に格納する(ステップS503)。
制御部6はステップS503の処理を完了すると、変数jについて1を減算する(ステップS504)。
【0054】
制御部6はステップS504の処理を完了すると、画素の位置が(i-1)行j列の画素データが支持部材2であるかどうか判定し(ステップS505)、もし画素の位置が(i-1)行j列の画素データが支持部材2であればステップS501からの処理を繰り返し(ステップS505:YES)、もし画素の位置が(i-1)行j列の画素データが支持部材2でなければ補正処理4を終了する(ステップS505:NO)。
【0055】
次に
図3のフローに戻って、制御部6は画素の位置がi行(j+1)列の画素データが支持部材2であるかどうか判定し(ステップS109)、もし画素の位置がi行
(j+1)列の画素データが支持部材2であれば(ステップS109:YES)変数jについて1を加算し(ステップS110)、ステップS105からの処理を繰り返してi行(j+1)列の画素データの値を算出する。もし画素の位置がi行(j+1)列の画素データが支持部材2でなければ支持部材2の全ての画素データの補正が完了したので、補正処理を終了する(ステップS109:NO)。
【0056】
以上のフローにより、左上から時計回りで螺旋状に進行して、支持部材2の部分についての全ての画素データを求めることができる。
図9はこの進行順序を説明した図である。
【0057】
次に、
図10のフローチャートを参照して、パノラマカメラ3が実行する支持部材2に関する異なる補正処理の仕方について説明する。
【0058】
まず、制御部6は本処理を実行するためのプログラムを記憶部7から読み出して処理を開始し、あらかじめ記憶部7に格納されている支持部材2の画素階調データを読み出してきて、撮影画像のうち当該画素階調データと同一部分を探し、支持部材2が写っている部分を特定する(ステップS601)。
【0059】
制御部6はステップS601の処理を完了すると、支持部材2の部分と支持部材2の周囲上下左右5画素分の画像データを収集し、記憶部7に格納する(ステップS602)。ここで、画素の配置の具体例を
図11に示す。なお、1つのマス目は1つの画素を表している。
【0060】
制御部6はステップS602の処理を完了すると、収集されて記憶部7に格納された各画素の位置座標と画素階調データに基づいて重心位置を演算する(ステップS603)。
【0061】
重心位置(I行J列)は、例えば次の演算式で求める。
【0062】
I=Σ{(各画素のi)×(各画素の階調値)}/(各画素の階調値の合計)
J=Σ{(各画素のj)×(各画素の階調値)}/(各画素の階調値の合計)
【0063】
ここで、重心位置の計算例を示す。1行目1列目の画素の階調データ(16進数6桁)が000001、1行目2列目の画素の階調データが000001、2行目1列目の画素の階調データが000002、2行目2列目の画素の階調データが000002である4つの画素について重心位置を考えると、
I=00000A/000006=1.A・・・(10進数で表現すると5/3)、
J=000009/000006=1.8(10進数で表現すると1.5)
となる。
【0064】
制御部6はステップS603の処理を完了すると、重心位置における理想的なディザリングによる画素階調となるように支持部材2の部分の各画素における理想的なディザリングによる画素階調を求め、支持部材2の部分が周りにとけ込んで判別しにくいように画像処理する(ステップS604)。
【0065】
制御部6はステップS603の処理を完了すると、補正処理を終了する。
【0066】
なお、上述した各実施形態では、パノラマ撮影装置1としてパノラマカメラ3とスマートフォン5を備えたものについて説明したが、本発明は必ずしもスマートフォン5を備えていなくてもよく、パノラマカメラ3は無線に代えて配線を介してリモート撮影してもよい。また、パノラマカメラ3で撮影したパノラマ画像のメモリをパノラマカメラ3から取り出してパソコンやプリンタ等で再生するようにしてもよい。
【0067】
また、本体の両面に魚眼レンズ4を設けたパノラマカメラ3に代えて、一方の面にのみ魚眼レンズ等の各種レンズを設けたパノラマカメラ等であってもよい。さらに、多方面に魚眼レンズ等の各種レンズを設けたパノラマカメラ等であってもよい。
【符号の説明】
【0068】
1 パノラマ撮影装置
2 自立型一脚支持部材
3 パノラマカメラ
4 魚眼レンズ
5 スマートフォン