00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef CVD_VECTOR_IMAGE_REF_H
00022 #define CVD_VECTOR_IMAGE_REF_H
00023
00024 #include <TooN/TooN.h>
00025 #include <cvd/image_ref.h>
00026
00027 namespace CVD
00028 {
00032 inline TooN::Vector<2> vec(const ImageRef& ir)
00033 {
00034 TooN::Vector<2> r;
00035 r[0] = ir.x;
00036 r[1] = ir.y;
00037 return r;
00038 }
00039
00043 inline ImageRef ir(const TooN::Vector<2>& v)
00044 {
00045 return ImageRef((int)v[0], (int)v[1]);
00046 }
00047
00051 inline ImageRef ir_rounded(const TooN::Vector<2>& v)
00052 {
00053 return ImageRef(
00054 static_cast<int>(v[0] > 0.0 ? v[0] + 0.5 : v[0] - 0.5),
00055 static_cast<int>(v[1] > 0.0 ? v[1] + 0.5 : v[1] - 0.5));
00056 }
00057 }
00058
00059
00060 #endif