質問: 魚眼レンズで撮影した画像って、ひずんでますよね。 これを普通に(って何が普通かと言う問題はあるけれど)直す 処理プログラムをおしえていただけませんか? できれば、教科書的なものでなく、サンプルプログラムがあれば うれしいんですが・・・ 言語は、C以上の高級言語ならたいていわかるので せめてポインタだけでも・・ お願いします。
回答: 魚眼(というか広角)レンズで撮った絵の中心に近いゆがみの少ない部分が 広角では無いレンズで撮った絵そのものになります。 という事で、中心のゆがみが目立たない部分だけを切り出してください。 って、これじゃ意味が無いですよね。。。(^^; まず、ゆがみとは、平行な線が平行に写っていない事だとします。 例えば、絵の中心から八方向に平行線が出ている状態を写したとすると それをすべて平行に変換するのは無理ですよね、。 という事で写っている範囲のすべてを変換する事はできません。 では、上下1/3くらいづつを切り取ってやるとどうでしょう? これならば端のほうを上下に伸ばしてあげれば、それなりに見れる絵に 近似できると思います。 (上下端に近い部分は、少し横にも伸ばすほうがより良くなりますね) アルゴリズムはCが判るという事ですので、がんばってください! たぶん二次曲線を基準に変換すれば良いと思うのですが。 ところで、質問ではサンプルプログラムがあると嬉しいという事ですが、 そもそも画像フォーマットは何でしょうか? 質問の書き方のレベルと求める回答のレベルが違っているのではないでしょうか? 画像がbmpでしたら、上記の方法でだけですむでしょうが、 jpgなど圧縮のかかっている形式でしたらjpg→bmp変換が先になります。 jpg→bmp変換については、残念ながら私はわかりません。。(^^; この質問のままで置いておいても答えはつかないと思うので、 フォーマット変換については検索をかけて調べるか、 新しい質問として書き込んだほうが良いですよ。