From beeb932d22ba01e641f7eb9a6b0788cc6c7be1ff Mon Sep 17 00:00:00 2001 From: Roman Donchenko Date: Tue, 13 Aug 2013 16:47:18 +0400 Subject: [PATCH] Boring changes - highgui. --- modules/highgui/include/opencv2/highgui.hpp | 4 +-- modules/highgui/src/cap.cpp | 10 +++---- modules/highgui/src/grfmt_bmp.cpp | 4 +-- modules/highgui/src/grfmt_exr.cpp | 4 +-- modules/highgui/src/grfmt_jpeg.cpp | 4 +-- modules/highgui/src/grfmt_jpeg2000.cpp | 4 +-- modules/highgui/src/grfmt_png.cpp | 4 +-- modules/highgui/src/grfmt_pxm.cpp | 4 +-- modules/highgui/src/grfmt_sunras.cpp | 4 +-- modules/highgui/src/grfmt_tiff.cpp | 4 +-- modules/highgui/src/grfmt_webp.cpp | 4 +-- modules/highgui/src/loadsave.cpp | 44 ++++++++++++++--------------- modules/highgui/test/test_framecount.cpp | 4 +-- 13 files changed, 49 insertions(+), 49 deletions(-) diff --git a/modules/highgui/include/opencv2/highgui.hpp b/modules/highgui/include/opencv2/highgui.hpp index c20cf88..c4fc73a 100644 --- a/modules/highgui/include/opencv2/highgui.hpp +++ b/modules/highgui/include/opencv2/highgui.hpp @@ -544,8 +544,8 @@ protected: Ptr writer; }; -template<> CV_EXPORTS void Ptr::delete_obj(); -template<> CV_EXPORTS void Ptr::delete_obj(); +template<> CV_EXPORTS void DefaultDeleter::operator ()(CvCapture* obj) const; +template<> CV_EXPORTS void DefaultDeleter::operator ()(CvVideoWriter* obj) const; } // cv diff --git a/modules/highgui/src/cap.cpp b/modules/highgui/src/cap.cpp index 453f1dd..be62ce9 100644 --- a/modules/highgui/src/cap.cpp +++ b/modules/highgui/src/cap.cpp @@ -49,10 +49,10 @@ namespace cv { -template<> void Ptr::delete_obj() +template<> void DefaultDeleter::operator ()(CvCapture* obj) const { cvReleaseCapture(&obj); } -template<> void Ptr::delete_obj() +template<> void DefaultDeleter::operator ()(CvVideoWriter* obj) const { cvReleaseVideoWriter(&obj); } } @@ -492,14 +492,14 @@ VideoCapture::~VideoCapture() bool VideoCapture::open(const String& filename) { if (isOpened()) release(); - cap = cvCreateFileCapture(filename.c_str()); + cap.reset(cvCreateFileCapture(filename.c_str())); return isOpened(); } bool VideoCapture::open(int device) { if (isOpened()) release(); - cap = cvCreateCameraCapture(device); + cap.reset(cvCreateCameraCapture(device)); return isOpened(); } @@ -578,7 +578,7 @@ VideoWriter::~VideoWriter() bool VideoWriter::open(const String& filename, int _fourcc, double fps, Size frameSize, bool isColor) { - writer = cvCreateVideoWriter(filename.c_str(), _fourcc, fps, frameSize, isColor); + writer.reset(cvCreateVideoWriter(filename.c_str(), _fourcc, fps, frameSize, isColor)); return isOpened(); } diff --git a/modules/highgui/src/grfmt_bmp.cpp b/modules/highgui/src/grfmt_bmp.cpp index 131e84e..f7147b5 100644 --- a/modules/highgui/src/grfmt_bmp.cpp +++ b/modules/highgui/src/grfmt_bmp.cpp @@ -70,7 +70,7 @@ void BmpDecoder::close() ImageDecoder BmpDecoder::newDecoder() const { - return new BmpDecoder; + return makePtr(); } bool BmpDecoder::readHeader() @@ -496,7 +496,7 @@ BmpEncoder::~BmpEncoder() ImageEncoder BmpEncoder::newEncoder() const { - return new BmpEncoder; + return makePtr(); } bool BmpEncoder::write( const Mat& img, const std::vector& ) diff --git a/modules/highgui/src/grfmt_exr.cpp b/modules/highgui/src/grfmt_exr.cpp index 33d0ad0..079de58 100644 --- a/modules/highgui/src/grfmt_exr.cpp +++ b/modules/highgui/src/grfmt_exr.cpp @@ -551,7 +551,7 @@ void ExrDecoder::RGBToGray( float *in, float *out ) ImageDecoder ExrDecoder::newDecoder() const { - return new ExrDecoder; + return makePtr(); } /////////////////////// ExrEncoder /////////////////// @@ -726,7 +726,7 @@ bool ExrEncoder::write( const Mat& img, const std::vector& ) ImageEncoder ExrEncoder::newEncoder() const { - return new ExrEncoder; + return makePtr(); } } diff --git a/modules/highgui/src/grfmt_jpeg.cpp b/modules/highgui/src/grfmt_jpeg.cpp index 09db677..28c52e8 100644 --- a/modules/highgui/src/grfmt_jpeg.cpp +++ b/modules/highgui/src/grfmt_jpeg.cpp @@ -208,7 +208,7 @@ void JpegDecoder::close() ImageDecoder JpegDecoder::newDecoder() const { - return new JpegDecoder; + return makePtr(); } bool JpegDecoder::readHeader() @@ -539,7 +539,7 @@ JpegEncoder::~JpegEncoder() ImageEncoder JpegEncoder::newEncoder() const { - return new JpegEncoder; + return makePtr(); } bool JpegEncoder::write( const Mat& img, const std::vector& params ) diff --git a/modules/highgui/src/grfmt_jpeg2000.cpp b/modules/highgui/src/grfmt_jpeg2000.cpp index 4a48e81..d711846 100644 --- a/modules/highgui/src/grfmt_jpeg2000.cpp +++ b/modules/highgui/src/grfmt_jpeg2000.cpp @@ -88,7 +88,7 @@ Jpeg2KDecoder::~Jpeg2KDecoder() ImageDecoder Jpeg2KDecoder::newDecoder() const { - return new Jpeg2KDecoder; + return makePtr(); } void Jpeg2KDecoder::close() @@ -403,7 +403,7 @@ Jpeg2KEncoder::~Jpeg2KEncoder() ImageEncoder Jpeg2KEncoder::newEncoder() const { - return new Jpeg2KEncoder; + return makePtr(); } bool Jpeg2KEncoder::isFormatSupported( int depth ) const diff --git a/modules/highgui/src/grfmt_png.cpp b/modules/highgui/src/grfmt_png.cpp index c784d5a..4d5c779 100644 --- a/modules/highgui/src/grfmt_png.cpp +++ b/modules/highgui/src/grfmt_png.cpp @@ -101,7 +101,7 @@ PngDecoder::~PngDecoder() ImageDecoder PngDecoder::newDecoder() const { - return new PngDecoder; + return makePtr(); } void PngDecoder::close() @@ -317,7 +317,7 @@ bool PngEncoder::isFormatSupported( int depth ) const ImageEncoder PngEncoder::newEncoder() const { - return new PngEncoder; + return makePtr(); } diff --git a/modules/highgui/src/grfmt_pxm.cpp b/modules/highgui/src/grfmt_pxm.cpp index 0acf195..425a296 100644 --- a/modules/highgui/src/grfmt_pxm.cpp +++ b/modules/highgui/src/grfmt_pxm.cpp @@ -116,7 +116,7 @@ bool PxMDecoder::checkSignature( const String& signature ) const ImageDecoder PxMDecoder::newDecoder() const { - return new PxMDecoder; + return makePtr(); } void PxMDecoder::close() @@ -357,7 +357,7 @@ PxMEncoder::~PxMEncoder() ImageEncoder PxMEncoder::newEncoder() const { - return new PxMEncoder; + return makePtr(); } diff --git a/modules/highgui/src/grfmt_sunras.cpp b/modules/highgui/src/grfmt_sunras.cpp index a16e5d8..b67400f 100644 --- a/modules/highgui/src/grfmt_sunras.cpp +++ b/modules/highgui/src/grfmt_sunras.cpp @@ -63,7 +63,7 @@ SunRasterDecoder::~SunRasterDecoder() ImageDecoder SunRasterDecoder::newDecoder() const { - return new SunRasterDecoder; + return makePtr(); } void SunRasterDecoder::close() @@ -388,7 +388,7 @@ SunRasterEncoder::SunRasterEncoder() ImageEncoder SunRasterEncoder::newEncoder() const { - return new SunRasterEncoder; + return makePtr(); } SunRasterEncoder::~SunRasterEncoder() diff --git a/modules/highgui/src/grfmt_tiff.cpp b/modules/highgui/src/grfmt_tiff.cpp index a0d53f3..d8937db 100644 --- a/modules/highgui/src/grfmt_tiff.cpp +++ b/modules/highgui/src/grfmt_tiff.cpp @@ -108,7 +108,7 @@ int TiffDecoder::normalizeChannelsNumber(int channels) const ImageDecoder TiffDecoder::newDecoder() const { - return new TiffDecoder; + return makePtr(); } bool TiffDecoder::readHeader() @@ -400,7 +400,7 @@ TiffEncoder::~TiffEncoder() ImageEncoder TiffEncoder::newEncoder() const { - return new TiffEncoder; + return makePtr(); } bool TiffEncoder::isFormatSupported( int depth ) const diff --git a/modules/highgui/src/grfmt_webp.cpp b/modules/highgui/src/grfmt_webp.cpp index fd9682a..1c64ade 100644 --- a/modules/highgui/src/grfmt_webp.cpp +++ b/modules/highgui/src/grfmt_webp.cpp @@ -90,7 +90,7 @@ bool WebPDecoder::checkSignature(const String & signature) const ImageDecoder WebPDecoder::newDecoder() const { - return new WebPDecoder; + return makePtr(); } bool WebPDecoder::readHeader() @@ -201,7 +201,7 @@ WebPEncoder::~WebPEncoder() { } ImageEncoder WebPEncoder::newEncoder() const { - return new WebPEncoder(); + return makePtr(); } bool WebPEncoder::write(const Mat& img, const std::vector& params) diff --git a/modules/highgui/src/loadsave.cpp b/modules/highgui/src/loadsave.cpp index a548df5..58a0a6f 100644 --- a/modules/highgui/src/loadsave.cpp +++ b/modules/highgui/src/loadsave.cpp @@ -58,35 +58,35 @@ struct ImageCodecInitializer { ImageCodecInitializer() { - decoders.push_back( new BmpDecoder ); - encoders.push_back( new BmpEncoder ); + decoders.push_back( makePtr() ); + encoders.push_back( makePtr() ); #ifdef HAVE_JPEG - decoders.push_back( new JpegDecoder ); - encoders.push_back( new JpegEncoder ); + decoders.push_back( makePtr() ); + encoders.push_back( makePtr() ); #endif #ifdef HAVE_WEBP - decoders.push_back( new WebPDecoder ); - encoders.push_back( new WebPEncoder ); + decoders.push_back( makePtr() ); + encoders.push_back( makePtr() ); #endif - decoders.push_back( new SunRasterDecoder ); - encoders.push_back( new SunRasterEncoder ); - decoders.push_back( new PxMDecoder ); - encoders.push_back( new PxMEncoder ); + decoders.push_back( makePtr() ); + encoders.push_back( makePtr() ); + decoders.push_back( makePtr() ); + encoders.push_back( makePtr() ); #ifdef HAVE_TIFF - decoders.push_back( new TiffDecoder ); + decoders.push_back( makePtr() ); #endif - encoders.push_back( new TiffEncoder ); + encoders.push_back( makePtr() ); #ifdef HAVE_PNG - decoders.push_back( new PngDecoder ); - encoders.push_back( new PngEncoder ); + decoders.push_back( makePtr() ); + encoders.push_back( makePtr() ); #endif #ifdef HAVE_JASPER - decoders.push_back( new Jpeg2KDecoder ); - encoders.push_back( new Jpeg2KEncoder ); + decoders.push_back( makePtr() ); + encoders.push_back( makePtr() ); #endif #ifdef HAVE_OPENEXR - decoders.push_back( new ExrDecoder ); - encoders.push_back( new ExrEncoder ); + decoders.push_back( makePtr() ); + encoders.push_back( makePtr() ); #endif } @@ -198,7 +198,7 @@ imread_( const String& filename, int flags, int hdrtype, Mat* mat=0 ) Mat temp, *data = &temp; ImageDecoder decoder = findDecoder(filename); - if( decoder.empty() ) + if( !decoder ) return 0; decoder->setSource(filename); if( !decoder->readHeader() ) @@ -269,7 +269,7 @@ static bool imwrite_( const String& filename, const Mat& image, CV_Assert( image.channels() == 1 || image.channels() == 3 || image.channels() == 4 ); ImageEncoder encoder = findEncoder( filename ); - if( encoder.empty() ) + if( !encoder ) CV_Error( CV_StsError, "could not find a writer for the specified extension" ); if( !encoder->isFormatSupported(image.depth()) ) @@ -309,7 +309,7 @@ imdecode_( const Mat& buf, int flags, int hdrtype, Mat* mat=0 ) String filename; ImageDecoder decoder = findDecoder(buf); - if( decoder.empty() ) + if( !decoder ) return 0; if( !decoder->setSource(buf) ) @@ -409,7 +409,7 @@ bool imencode( const String& ext, InputArray _image, CV_Assert( channels == 1 || channels == 3 || channels == 4 ); ImageEncoder encoder = findEncoder( ext ); - if( encoder.empty() ) + if( !encoder ) CV_Error( CV_StsError, "could not find encoder for the specified extension" ); if( !encoder->isFormatSupported(image.depth()) ) diff --git a/modules/highgui/test/test_framecount.cpp b/modules/highgui/test/test_framecount.cpp index 875ce6a..30f6e67 100644 --- a/modules/highgui/test/test_framecount.cpp +++ b/modules/highgui/test/test_framecount.cpp @@ -71,8 +71,8 @@ void CV_FramecountTest::run(int) { string file_path = src_dir+"video/big_buck_bunny."+ext[i]; - cap = cvCreateFileCapture(file_path.c_str()); - if (cap.empty()) + cap.reset(cvCreateFileCapture(file_path.c_str())); + if (!cap) { ts->printf(cvtest::TS::LOG, "\nFile information (video %d): \n\nName: big_buck_bunny.%s\nFAILED\n\n", i+1, ext[i].c_str()); ts->printf(cvtest::TS::LOG, "Error: cannot read source video file.\n"); -- 2.7.4