mirror of
https://github.com/opencv/opencv.git
synced 2025-06-10 19:24:07 +08:00
Update imgcodecs.hpp
This commit is contained in:
parent
7dcc305301
commit
63b9cbc2d0
@ -412,27 +412,47 @@ CV_EXPORTS_W bool imencode( const String& ext, InputArray img,
|
|||||||
CV_OUT std::vector<uchar>& buf,
|
CV_OUT std::vector<uchar>& buf,
|
||||||
const std::vector<int>& params = std::vector<int>());
|
const std::vector<int>& params = std::vector<int>());
|
||||||
|
|
||||||
/** @brief Returns true if the specified image can be decoded by OpenCV
|
/** @brief Checks if the specified image file can be decoded by OpenCV.
|
||||||
|
|
||||||
@param filename File name of the image
|
The function haveImageReader checks if OpenCV is capable of reading the specified file.
|
||||||
|
This can be useful for verifying support for a given image format before attempting to load an image.
|
||||||
|
|
||||||
|
@param filename The name of the file to be checked.
|
||||||
|
@return true if an image reader for the specified file is available and the file can be opened, false otherwise.
|
||||||
|
|
||||||
|
@note The function checks the availability of image codecs that are either built into OpenCV or dynamically loaded.
|
||||||
|
It does not check for the actual existence of the file but rather the ability to read the specified file type.
|
||||||
|
If the file cannot be opened or the format is unsupported, the function will return false.
|
||||||
|
|
||||||
|
@sa cv::haveImageWriter, cv::imread, cv::imdecode
|
||||||
*/
|
*/
|
||||||
CV_EXPORTS_W bool haveImageReader( const String& filename );
|
CV_EXPORTS_W bool haveImageReader( const String& filename );
|
||||||
|
|
||||||
/** @brief Returns true if an image with the specified filename can be encoded by OpenCV
|
/** @brief Checks if the specified image file or specified file extension can be encoded by OpenCV.
|
||||||
|
|
||||||
@param filename File name of the image
|
The function haveImageWriter checks if OpenCV is capable of writing images with the specified file extension.
|
||||||
*/
|
This can be useful for verifying support for a given image format before attempting to save an image.
|
||||||
|
|
||||||
|
@param filename The name of the file or the file extension (e.g., ".jpg", ".png").
|
||||||
|
It is recommended to provide the file extension rather than the full file name.
|
||||||
|
@return true if an image writer for the specified extension is available, false otherwise.
|
||||||
|
|
||||||
|
@note The function checks the availability of image codecs that are either built into OpenCV or dynamically loaded.
|
||||||
|
It does not check for the actual existence of the file but rather the ability to write files of the given type.
|
||||||
|
|
||||||
|
@sa cv::haveImageReader, cv::imwrite, cv::imencode
|
||||||
|
*/
|
||||||
CV_EXPORTS_W bool haveImageWriter( const String& filename );
|
CV_EXPORTS_W bool haveImageWriter( const String& filename );
|
||||||
|
|
||||||
/** @brief To read Multi Page images on demand
|
/** @brief To read multi-page images on demand
|
||||||
|
|
||||||
The ImageCollection class provides iterator API to read multi page images on demand. Create iterator
|
The ImageCollection class provides iterator API to read multi-page images on demand. Create iterator
|
||||||
to the collection of the images and iterate over the collection. Decode the necessary page with operator*.
|
to the collection of the images and iterate over the collection. Decode the necessary page with operator*.
|
||||||
|
|
||||||
The performance of page decoding is O(1) if collection is increment sequentially. If the user wants to access random page,
|
The performance of page decoding is O(1) if collection is increment sequentially. If the user wants to access random page,
|
||||||
then the time Complexity is O(n) because the collection has to be reinitialized every time in order to go to the correct page.
|
then the time Complexity is O(n) because the collection has to be reinitialized every time in order to go to the correct page.
|
||||||
However, the intermediate pages are not decoded during the process, so typically it's quite fast.
|
However, the intermediate pages are not decoded during the process, so typically it's quite fast.
|
||||||
This is required because multipage codecs does not support going backwards.
|
This is required because multi-page codecs does not support going backwards.
|
||||||
After decoding the one page, it is stored inside the collection cache. Hence, trying to get Mat object from already decoded page is O(1).
|
After decoding the one page, it is stored inside the collection cache. Hence, trying to get Mat object from already decoded page is O(1).
|
||||||
If you need memory, you can use .releaseCache() method to release cached index.
|
If you need memory, you can use .releaseCache() method to release cached index.
|
||||||
The space complexity is O(n) if all pages are decoded into memory. The user is able to decode and release images on demand.
|
The space complexity is O(n) if all pages are decoded into memory. The user is able to decode and release images on demand.
|
||||||
|
Loading…
Reference in New Issue
Block a user