openCVを使って画像を歪ませるにはどうしたらいいでしょうか?
sinやcosを使って波形型に歪ませたいです。。。。
openCV
Re: openCV
曖昧すぎます.
(手順1)
出力画像(歪んだ画像)の各座標(dx,dy)が,元画像のどこに対応するのか,という対応関係を明確にしてください.
すなわち,元画像上の座標(sx,sy)について
・sx = f( dx,dy )
・sy = g( dx,dy )
という変換式を用意.
(手順2)
変換式にしたがって,座標を変換すればいいです.
出力画像の全ての画素について,
その画素の座標(dx,dy)に対応する(sx,sy)を求め,
元画像上の位置(sx,sy)の色で出力画像の画素を塗る
ということをすればいいです.
(OpenCVでは cv::reamp(), cvRemap() という関数がこのことに使えます.)
(手順1)
出力画像(歪んだ画像)の各座標(dx,dy)が,元画像のどこに対応するのか,という対応関係を明確にしてください.
すなわち,元画像上の座標(sx,sy)について
・sx = f( dx,dy )
・sy = g( dx,dy )
という変換式を用意.
(手順2)
変換式にしたがって,座標を変換すればいいです.
出力画像の全ての画素について,
その画素の座標(dx,dy)に対応する(sx,sy)を求め,
元画像上の位置(sx,sy)の色で出力画像の画素を塗る
ということをすればいいです.
(OpenCVでは cv::reamp(), cvRemap() という関数がこのことに使えます.)