1 | initial version |
Not really, because you always have to convert the Image into a grayscale Image for the SIFT algorithm. But beside that, a format which has a small lossless conversion from the raw camera data would be good (e.g. JPEG is no lossless conversion of the original raw data).
2 | No.2 Revision |
Not really, because you always have to convert the Image into a grayscale Image for the SIFT algorithm.
But beside that, a format which has a small lossless conversion from the raw camera data would be good (e.g. JPEG is no lossless conversion of the original raw data).data).
On the other hand, if you use a JPEG as reference Image and just try the recognition also in JPEG, the conversion of JPEG is nonrelevant.
3 | No.3 Revision |
Not really, because you always have to convert the Image into a grayscale Image for the SIFT algorithm. But beside that, a format which has a small lossless conversion from the raw camera data would be good (e.g. JPEG is no lossless conversion of the original raw data).
On the other hand, if you use a JPEG as reference Image and just try the recognition also in JPEG, the conversion of JPEG is nonrelevant.
For some calrification opencv's SIFT checks for a CV_8U
Type Image and throws an error if the Image is not that type:
void SIFT_Impl::detectAndCompute(InputArray _image, InputArray _mask,
std::vector<KeyPoint>& keypoints,
OutputArray _descriptors,
bool useProvidedKeypoints)
{
int firstOctave = -1, actualNOctaves = 0, actualNLayers = 0;
Mat image = _image.getMat(), mask = _mask.getMat();
if( image.empty() || image.depth() != CV_8U )
CV_Error( Error::StsBadArg, "image is empty or has incorrect depth (!=CV_8U)" );
4 | No.4 Revision |
Not really, because you always have to convert the Image into a grayscale Image for the SIFT algorithm.
But beside that, a format which has a small lossless conversion from the raw camera data would be good (e.g. JPEG is no lossless conversion of the original raw data).
On the other hand, if you use a JPEG as reference Image and just try the recognition also in JPEG, the conversion of JPEG is nonrelevant.
For some calrification opencv's SIFT checks for a CV_8U
Type Image and throws an error if the Image is not that type:
void SIFT_Impl::detectAndCompute(InputArray _image, InputArray _mask,
std::vector<KeyPoint>& keypoints,
OutputArray _descriptors,
bool useProvidedKeypoints)
{
int firstOctave = -1, actualNOctaves = 0, actualNLayers = 0;
Mat image = _image.getMat(), mask = _mask.getMat();
if( image.empty() || image.depth() != CV_8U )
CV_Error( Error::StsBadArg, "image is empty or has incorrect depth (!=CV_8U)" );