algorithm - 2D map translation computation -
algorithm - 2D map translation computation -
i want find algorithm given 2 2d images 1 image "shift" of other, compute optimal shift. shift simple translation no rotation.
the motivation have series of images portions of big map, , want combine them. imagine going google maps, take screenshot, shift map slightly, take another, , on.
right have simple algorithm. take sec image, , seek little shifts -9 +9 in both dimensions. utilize template matching algorithm opencv's matchtemplate(), , pick best one. inefficient, not back upwards big translation, , not back upwards subpixel translation.
i can't find in opencv - hoping @ to the lowest degree there parallelized version of above simple algorithm, can't find it. pointers appreciated.
cheap , easy idea: cheaper approach shifting entire sec image -9 +9 might take single row in sec image , find best matching row in first image. same single column. can compute row/column similarity using simple using absolute difference of row/column vectors. might give easy translation between images.
some more advanced alternatives: might able estimate type of transformation between images (e.g., affine transformation) using sift or surf image features. see this: estimating affine transform between 2 images
more resources: http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/warp_affine/warp_affine.html
another thought utilize optical flow find pixel-based mapping between images.
more resources: http://docs.opencv.org/trunk/doc/py_tutorials/py_video/py_lucas_kanade/py_lucas_kanade.html
these 2 approaches might overkill since seem dealing transformation of static image. sift/surf features might create easy larn transformation though.
algorithm opencv image-processing computer-vision
Comments
Post a Comment