Add 10-12-14bit (integer) TIFF decoding support
* Add 12bit (integer) TIFF decoding support
An (slow) unpacking step is inserted when the native bpp is not equal to the dst_bpp
Currently, I do not know if there can be several packing flavours in TIFF data.
* added tests
* move sample files to opencv_extra
* added 10b and 14b unpacking
* fix compilation for non MSVC compilers by using more standard typedefs
* yet another typdef usage change to fix buildbot Mac compilation
* fixed unpacking of partial packets
* fixed warnings returned by buildbot
* modifications as suggested by reviewer
Add a warning message using CV_LOG__WARNING().
This way api behaviour is preserved. Outputs are
the same but user gets an extra warning in case
fopen() fails to access image file for some reason.
This would help new users and also debugging
complex apps which use imread()
Signed-off-by: nickjackolson <metedurlu@gmail.com>
* bmp specified BI_BITFIELDS should take care RGBA bit mask
* change the name
* support xrgb bmp file
* support xrgb bmp file(add test case)
* update testing code
Support building with OpenEXR 3.x
* Support OpenEXR 3.0
Try to find OpenEXR 3.0 using the upstream cmake config, and fallback to the previous algorithm if not found
* Add explicit ImfFrameBuffer.h include
This was transitively included with OpenEXR 2.x, but that's no longer the case with OpenEXR 3.x
Add reading of specific images from multipage tiff
* Add reading of specific images from multipage tiff
* Fix build issues
* Add missing flag for gdal
* Fix unused param warning
* Remove duplicated code
* change public parameter type to int
* Fix warnings
* Fix parameter check
OpenEXR compression options
* Adding possibility to select the compression type for the OpenEXR format.
There are compression modes other than the default that are more suited for certain data. Mainly grainy/noisy data.
* Code review fixes.
Co-authored-by: Daniel Rydstrom <daniel.rydstrom@sick.se>
Expose CGImage <-> Mat conversion for iOS platforms
* Add apple_conversions to framework builds
This exposes CGImage <-> Mat conversion.
* Export Mat <-> CGImage methods on iOS targets
* Add CGImage converters to iOS objc helper class
* Add CF_RETURNS_RETAINED annotations to methods returning CGImageRef
libjasper has recently changed `jas_matrix_get` from a macro to an inline function
(389951d071 in https://github.com/jasper-software/jasper), causing the build to fail.
* fix bug for CHECK issue
* remove chack for bpp
* add test for tif file
* add test for tiff file
* change the test name
* use proper bpp value, use clear test names
Jpeg2000 OpenJPEG port
* OpenJPEG based JPEG2000 decoder implementation
Currently, the following input color spaces and depth conversions are
supported:
- 8 bit -> 8 bit
- 16 bit -> 16 bit (IMREAD_UNCHANGED, IMREAD_ANYDEPTH)
- RGB(a) -> BGR
- RGBA -> BGRA (IMREAD_UNCHANGED)
- Y(a) -> Y(a) (IMREAD_ANYCOLOR, IMREAD_GRAY, IMREAD_UNCHANGED))
- YCC -> Y (IMREAD_GRAY)
* Check for OpenJPEG availability
This enables OpenJPEG based JPEG2000 imread support by default, which
can be disabled by -DWITH_OPENJPEG=OFF. In case OpenJPEG is enabled
and found, any checks for Jasper are skipped.
* Implement precision downscaling for precision > 8 without IMREAD_UNCHANGED
With IMREAD_UNCHANGED, values are kept from the input image, without it
components are downscaled to CV_8U range.
* Enable Jpeg2K tests when OpenJPEG is available
* Add support for some more color conversions
Support IMREAD_GRAY when input color space is RGB or unspecified.
Support YUV input color space for BGR output.
* fix: problems with unmanaged memory
* fix: CMake warning - HAVE_OPENJPEG is undefined
Removed trailing whitespaces
* fix: CMake find_package OpenJPEG add minimal version
* Basic JPEG2K encoder
Images with depth CV_8U and CV_16U are supported, with 1 to 4 channels.
* feature: Improved code for OpenJPEG2000 encoder/decoder
- Removed code duplication
- Added error handlers
- Extracted functions
* feature: Update conversion openjpeg array from/to Mat
* feature: Extend ChannelsIterator to fulfill RandomAccessIterator named requirements
- Removed channels split in copyFromMatImpl. With ChannelsIterator no allocations are performed.
- Split whole loop into 2 parts in copyToMat -> where std::copy and std::transforms are called.
* fix: Applied review comments.
- Changed `nullptr` in CV_LOG* functions to `NULL`
- Added `falls through` comment in decoder color space `switch`
- Added warning about unsupported parameters for the encoder
* feature: Added decode from in-memory buffers.
Co-authored-by: Vadim Levin <vadim.levin@xperience.ai>
- some of `icvCvt_BGR*` functions have R with B channels
swapped what leads to the wrong conversion
- renames misleading `rgb` variable name to `bgr`
- swap back the conversion coefficients, `cB` should be the first
Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
- more checks
- drop separate branches for 32FC1/32FC3(read) handling
- added for 32F/64F non-compressed
- added tests for 32FC3 (RAW + hdr SGILOG compression)
- added test 64FC1
- dump tiff errors on stderr
* removed C API in the following modules: photo, video, imgcodecs, videoio
* trying to fix various compile errors and warnings on Windows and Linux
* continue to fix compile errors and warnings
* continue to fix compile errors, warnings, as well as the test failures
* trying to resolve compile warnings on Android
* Update cap_dc1394_v2.cpp
fix warning from the new GCC
* Fix reading of black-and-white (thresholded) TIFF images
I recently updated my local OpenCV version to 3.4.3 and found out that
I could not read my TIFF images related to my project. After debugging I
found out that there has been some static analysis fixes made
that accidentally have broken reading those black-and-white TIFF images.
Commit hash in which reading of mentioned TIFF images has been broken:
cbb1e867e5
Basically the fix is to revert back to the same functionality that has been there before,
when black-and-white images are read bpp (bitspersample) is 1.
Without the case 1: this TiffDecoder::readHeader() function always return false.
* Added type and default error message
* Added stdexcept include
* Use CV_Error instead of throw std::runtime_error
* imgcodecs(test): add TIFF B/W decoding tests
* may be an typo fix
* remove identical branch,may be paste error
* add parentheses around macro parameter
* simplify if condition
* check malloc fail
* change the condition of branch removed by commit 3041502861
fix some errors found by static analyzer. (#12391)
* fix possible divided by zero and by negative values
* only 4 elements are used in these arrays
* fix uninitialized member
* use boolean type for semantic boolean variables
* avoid invalid array index
* to avoid exception and because base64_beg is only used in this block
* use std::atomic<bool> to avoid thread control race condition
* created new decoder and encoder for PFM
pfm file format stores binary RGB or grayscale float images.
* added test for pfm codec
* replaced large with short licence header
* little/big-endian-check is now compile time
* fixed width/height confusion, improved big/little endian recognition, fixed scaling issue and Improved signature check
* adapted tests to handle float images well
* removed data-dependency: lena.pfm
the lena image is now loaded is pam and converted to pfm.
* fixed bug in endianess detection macro
* Added endianess detection for android and win
* removed fancy endianess detection
endianess detection will be implemented in cmake scripts soonish.
* fixed minor warnings
* fixed stupid elif defined bug
* silenced some implicit cast warnings
* replaced std::to_string with std::stringstream solution
std::to_string variant did not build on android.
* replaced new endianess macros with existing ones
* improved readability