mrgloom 242 Жалоба Опубликовано July 23, 2015 (изменено) Inpaint не работает для для CV_32FC1, только CV_8UC1 (в 3.0 тоже )Как применить Inpaint для CV_32FC1? Какие есть альтернативы? тут еще реквест виситhttp://code.opencv.org/issues/2944 Изменено July 24, 2015 пользователем mrgloom Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано July 23, 2015 (изменено) Чтобы не возиться с OpenCV-шными исходниками, можно взять например отсюда:https://github.com/cheind/inpaintи чуток поправить. Изменено July 23, 2015 пользователем Smorodov 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано July 23, 2015 Ещё проще подключить opencv_contrib и вызывать inpaint отттуда. Список поддерживаемых форматов выглядит впечатляюще:/*! The function reconstructs the selected image area from known area. * \param src : source image. * \param mask : inpainting mask, 8-bit 1-channel image. Zero pixels indicate the area that needs to be inpainted. * \param dst : destination image. * \param algorithmType : inpainting method. */ void inpaint(const Mat &src, const Mat &mask, Mat &dst, const int algorithmType) { CV_Assert( mask.channels() == 1 && mask.depth() == CV_8U ); CV_Assert( src.rows == mask.rows && src.cols == mask.cols ); switch ( src.type() ) { case CV_8SC1: inpaint <char, 1>( src, mask, dst, algorithmType ); break; case CV_8SC2: inpaint <char, 2>( src, mask, dst, algorithmType ); break; case CV_8SC3: inpaint <char, 3>( src, mask, dst, algorithmType ); break; case CV_8SC4: inpaint <char, 4>( src, mask, dst, algorithmType ); break; case CV_8UC1: inpaint <uchar, 1>( src, mask, dst, algorithmType ); break; case CV_8UC2: inpaint <uchar, 2>( src, mask, dst, algorithmType ); break; case CV_8UC3: inpaint <uchar, 3>( src, mask, dst, algorithmType ); break; case CV_8UC4: inpaint <uchar, 4>( src, mask, dst, algorithmType ); break; case CV_16SC1: inpaint <short, 1>( src, mask, dst, algorithmType ); break; case CV_16SC2: inpaint <short, 2>( src, mask, dst, algorithmType ); break; case CV_16SC3: inpaint <short, 3>( src, mask, dst, algorithmType ); break; case CV_16SC4: inpaint <short, 4>( src, mask, dst, algorithmType ); break; case CV_16UC1: inpaint <ushort, 1>( src, mask, dst, algorithmType ); break; case CV_16UC2: inpaint <ushort, 2>( src, mask, dst, algorithmType ); break; case CV_16UC3: inpaint <ushort, 3>( src, mask, dst, algorithmType ); break; case CV_16UC4: inpaint <ushort, 4>( src, mask, dst, algorithmType ); break; case CV_32SC1: inpaint <int, 1>( src, mask, dst, algorithmType ); break; case CV_32SC2: inpaint <int, 2>( src, mask, dst, algorithmType ); break; case CV_32SC3: inpaint <int, 3>( src, mask, dst, algorithmType ); break; case CV_32SC4: inpaint <int, 4>( src, mask, dst, algorithmType ); break; case CV_32FC1: inpaint <float, 1>( src, mask, dst, algorithmType ); break; case CV_32FC2: inpaint <float, 2>( src, mask, dst, algorithmType ); break; case CV_32FC3: inpaint <float, 3>( src, mask, dst, algorithmType ); break; case CV_32FC4: inpaint <float, 4>( src, mask, dst, algorithmType ); break; case CV_64FC1: inpaint <double, 1>( src, mask, dst, algorithmType ); break; case CV_64FC2: inpaint <double, 2>( src, mask, dst, algorithmType ); break; case CV_64FC3: inpaint <double, 3>( src, mask, dst, algorithmType ); break; case CV_64FC4: inpaint <double, 4>( src, mask, dst, algorithmType ); break; default: CV_Error_( CV_StsNotImplemented, ("Unsupported source image format (=%d)", src.type()) ); break; } } 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах