Commit Graph

502 Commits

Author SHA1 Message Date
Alexander Alekhin
620629593b Merge pull request #18270 from komakai:swift-inout-arrays 2020-09-06 20:12:16 +00:00
Giles Payne
8b61719a9d Swift native in/out array handling 2020-09-03 21:31:11 +09:00
Alexander Alekhin
cf8322c0d3 Merge pull request #18194 from VadimLevin:dev/vlevin/openjpeg-source-intergration 2020-09-02 22:48:09 +00:00
Vadim Levin
0384eb7d8c 3rdparty: integrate OpenJPEG build to the OpenCV CMake
- adopted build scripts
- OpenJPEG build warnings are suppressed
2020-09-02 20:45:35 +00:00
Vadim Levin
bce5d364df feat: change OpenJPEG encoder to lossy with default parameters 2020-08-27 15:11:45 +03:00
Alexander Alekhin
fa25faa2d2 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-08-06 14:15:52 +00:00
Florian Jung
f66fc199a2 Fix build of grfmt_jpeg2000.cpp
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.
2020-07-30 19:23:52 +02:00
Alexander Alekhin
524a2fffe9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-07-06 23:05:04 +00:00
Alexander Alekhin
3f13339071 Merge pull request #17728 from sturkmen72:patch-4 2020-07-06 23:01:27 +00:00
Maksim Shabunin
e8129429e9 imgcodecs: fix test build with disabled JPEG and PNG libs 2020-07-06 14:52:52 +03:00
Suleyman TURKMEN
2566d13100 Update documentation of imwrite() 2020-07-06 11:02:50 +03:00
Alexander Alekhin
a711e2aa41 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-06-29 21:19:09 +00:00
Giles Payne
59ba33658a Dynamic build for Objective-C/Swift wrapper 2020-06-26 08:26:05 +09:00
okamotoR
0e69cddda2 add if block for indexed color images 2020-06-23 21:36:47 +09:00
Giles Payne
02385472b6
Merge pull request #17165 from komakai:objc-binding
Objc binding

* Initial work on Objective-C wrapper

* Objective-C generator script; update manually generated wrappers

* Add Mat tests

* Core Tests

* Imgproc wrapper generation and tests

* Fixes for Imgcodecs wrapper

* Miscellaneous fixes. Swift build support

* Objective-C wrapper build/install

* Add Swift wrappers for videoio/objdetect/feature2d

* Framework build;iOS support

* Fix toArray functions;Use enum types whenever possible

* Use enum types where possible;prepare test build

* Update test

* Add test runner scripts for iOS and macOS

* Add test scripts and samples

* Build fixes

* Fix build (cmake 3.17.x compatibility)

* Fix warnings

* Fix enum name conflicting handling

* Add support for document generation with Jazzy

* Swift/Native fast accessor functions

* Add Objective-C wrapper for calib3d, dnn, ml, photo and video modules

* Remove IntOut/FloatOut/DoubleOut classes

* Fix iOS default test platform value

* Fix samples

* Revert default framework name to opencv2

* Add converter util functions

* Fix failing test

* Fix whitespace

* Add handling for deprecated methods;fix warnings;define __OPENCV_BUILD

* Suppress cmake warnings

* Reduce severity of "jazzy not found" log message

* Fix incorrect #include of compatibility header in ios.h

* Use explicit returns in subscript/get implementation

* Reduce minimum required cmake version to 3.15 for Objective-C/Swift binding
2020-06-08 18:32:53 +00:00
shijiayuan
4e97c69792
Merge pull request #17275 from shijiayuan:fixbug
* 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
2020-05-25 18:49:37 +00:00
Alexander Alekhin
593af7287b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-05-18 17:50:16 +00:00
Chris Ballinger
d81ac52ce2 Remove linking against AssetsLibrary framework 2020-05-16 12:47:50 -07:00
Alexander Alekhin
ca9756f6a1 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-04-13 20:00:12 +00:00
tpoisonooo
b11a3a0820 Update grfmt_pxm.cpp
remove comment in .ppm
2020-04-11 17:41:51 +03:00
Maksim Shabunin
01a85736e6 OpenJPEG: fixed compilation and warnings with VS 2020-04-07 16:03:17 +03:00
Alexander Alekhin
cf2a3c8e74 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-04-02 21:52:32 +00:00
Alexander Alekhin
6d85fa3fd2 imgcodecs(test): rework common I/O test, added grayscale mode 2020-03-27 21:34:51 +00:00
StefanBruens
8d78400052
Merge pull request #16494 from StefanBruens:jpeg2000_openjpeg_port
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>
2020-03-27 07:18:58 +00:00
Alexander Alekhin
619180dffd Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-06 20:41:30 +00:00
Alexander Alekhin
e9655cf646 Merge pull request #16697 from alalek:imgcodecs_jpeg_drop_unnecessary_code 2020-03-06 19:03:43 +00:00
Alexander Alekhin
333a767be4 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-28 18:34:37 +00:00
Alexander Alekhin
4a39b12a78 imgcodecs(jpeg): drop unnecessary code
- standard huffman tables are handled by modern libjpeg-turbo
2020-02-28 18:55:14 +03:00
jshiwam
1f48940a93 bug fix to Inconsistent comment for EXIF issue id #15706 stream added final
removed all the changes occured while trying to resolve conflicts
2020-02-28 15:01:17 +05:30
Alexander Alekhin
aa2777ed61 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-10 19:40:29 +03:00
Collin Brake
d4a28f3bf6 improved documentation for imread() 2020-02-07 08:54:34 -05:00
Collin Brake
3cc07a4411 improved documentation for IMREAD_UNCHANGED flag 2020-02-06 17:49:14 -05:00
Omar Hassan
8dd0fd8a13 If applied, this commit will describe permission denied message in imwrite_ function when user does not have write permission 2020-02-05 22:23:10 +05:00
Alexander Alekhin
3d14dd4e39 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-01-22 16:58:30 +03:00
Ganesh Kathiresan
80ade96c8c Merge pull request #16309 from ganesh-k13:bugfix/imdecode-resize
* Added flag handlers for imread and imdecode | Issue 16203

Undo imread change

Added Imread resize tests

Added imdecode flags check

Added imdecode tests for resize

Removed trailing whitespace

Removed IMREAD_IGNORE_ORIENTATION check

Added else condition

Removed IMREAD_IGNORE_ORIENTATION check in decode

Added HAVE_JPEG guards

Added static_cast for Win32

Added resize for non jpegs

Added tests for non jpeg resize case

Fixed resize value in assert

Changed tests to Value-Parameterized Tests

Changed tests to Value-Parameterized Tests | handled >> in cpp

Changed tests to Value-Parameterized Tests | removed trailing whitespace

* imgcodecs: update test
2020-01-20 14:00:45 +03:00
Alexander Alekhin
fb61f88b9c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-01-12 09:35:39 +00:00
Janusz Lisiecki
178c4810e6 Fix swapped channels in BGR* conversion utility function
- 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>
2020-01-05 00:06:36 +01:00
Alexander Alekhin
4c86fc13cb Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-12-19 15:09:05 +03:00
Alexander Alekhin
f8b16fa293 Merge pull request #16188 from saskatchewancatch:issue-13551 2019-12-18 10:30:35 +00:00
Rajkiran Natarajan
af04b422c9 Change program type in hdr format files to modern value: RADIANCE so
modern readers that expect RADIANCE will read it
2019-12-17 20:17:32 -08:00
Alexander Alekhin
ba7b0f4c54 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-12-15 11:23:46 +00:00
Alexander Alekhin
d1c35e7b61 imgcodecs(bmp): make happy UBSAN with enum value range check 2019-12-13 18:51:46 +03:00
Alexander Alekhin
3fb6617d62 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-10-02 17:49:19 +03:00
Suleyman TURKMEN
d88d1c9935
Update loadsave.cpp 2019-09-28 23:24:17 +03:00
Alexander Alekhin
e2a5a6a05c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-25 18:32:44 +00:00
Alexander Alekhin
ad2854c8b3 imgcodecs: add check image.empty() in imwrite()/imencode() 2019-09-22 10:45:00 +00:00
luz.paz
fcc7d8dd4e Fix modules/ typos
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`

backporting of commit: ec43292e1e
2019-08-16 17:34:29 +03:00
luz.paz
ec43292e1e Fix modules/ typos
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`
2019-08-15 18:02:09 -04:00
Alexander Alekhin
174b4ce29d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-05 18:11:43 +00:00
yaohai [姚海]
cadb4dee14 fix exif bug 2019-08-05 16:41:07 +03:00
Alexander Alekhin
f663e8f903 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-09 19:57:57 +00:00
Alexander Alekhin
eedbd1ad59 imgcodecs: force reshaping of imdecode() input into a single row
OpenCV upstream stuff may reinterpret vector as column.
2019-07-06 10:11:29 +00:00
Alexander Alekhin
db7f689728 imgcodecs(tiff): add more checks
backporting of commit: f6230ae019
2019-06-11 19:22:24 +00:00
Alexander Alekhin
f6230ae019 imgcodecs(tiff): add more checks
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15154
2019-06-10 21:00:20 +00:00
Alexander Alekhin
11b020b9f9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-10 19:05:28 +00:00
Alexander Alekhin
d2f9cfcf81 Merge pull request #14760 from ChipKerchner:3.4 2019-06-09 17:43:02 +00:00
Alexander Alekhin
02bfd20760 imgcodecs(test): add OpenEXR I/O test 2019-06-08 21:30:26 +00:00
Chip Kerchner Chip.Kerchner@ibm.com
058367f34c Rewrite code in BGR2Gray functions so that auto vectorizer does a better job. 2019-06-07 11:48:05 -05:00
Alexander Alekhin
ddcf388270 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-07 19:02:55 +03:00
Alexander Alekhin
94ec0e9b74 Merge pull request #14724 from asashour:typos 2019-06-06 10:01:03 +00:00
Alexander Alekhin
a2445c44cb imgcodecs: sanitize PAM decoding
backporting of commit: 76fca0e755
2019-06-05 18:12:43 +03:00
Ahmed Ashour
1aca1d582e Fix some typos 2019-06-05 12:24:13 +02:00
Alexander Alekhin
76fca0e755 imgcodecs: sanitize PAM decoding
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13282
2019-06-03 22:19:42 +00:00
Alexander Alekhin
43467a2ac7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-28 18:29:48 +00:00
Alexander Alekhin
d73261844e Merge pull request #14622 from asashour:junit 2019-05-27 14:55:45 +00:00
Ahmed Ashour
f9564e053d java: test: use assertNotNull and assertFalse 2019-05-24 10:45:09 +02:00
Jan Starzynski
fb9c083a51 handle all orientations properly 2019-05-23 16:51:25 +02:00
Alexander Alekhin
f7856a0f35 imgcodecs(tiff): update tile size checks
backporting of commit: 25247b9f6e
2019-04-21 18:36:39 +00:00
Alexander Alekhin
25247b9f6e imgcodecs(tiff): update tile size checks
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14185
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14321
2019-04-20 20:13:47 +00:00
Alexander Alekhin
c024edb9a8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-19 15:43:58 +03:00
Alexander Alekhin
0d747daf47 cmake: use absolute library paths from 'pkgconfig'
- drop legacy check_module() macro
- drop 'ALIASOF_'
2019-04-15 22:11:49 +00:00
Alexander Alekhin
c9fc27b337 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-05 19:08:23 +00:00
Alexander Alekhin
0c490accae imgcodecs(tiff): check TIFF tile size
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13280
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13283
2019-04-05 18:13:15 +03:00
Alexander Alekhin
473941c341 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-04 18:09:24 +00:00
Alexander Alekhin
ba5ddd6499 imgcodecs(tiff): sanitize tiff decoder
- 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
2019-04-04 14:16:53 +03:00
Alexander Alekhin
c4ec46c195 imgcodecs(sunras): avoid undefined shift
backporting of commit: f2803aba07
2019-04-02 18:38:01 +03:00
Alexander Alekhin
d2854448c2 Merge pull request #14203 from alalek:fix_ossfuzz_13292 2019-04-02 15:15:13 +00:00
Alexander Alekhin
7d2118e324 Merge pull request #14223 from alalek:backport_14201 2019-04-02 14:33:57 +00:00
Alexander Alekhin
b4e2c99346 Merge pull request #14201 from alalek:fix_ossfuzz_13295 2019-04-01 18:47:00 +00:00
Alexander Alekhin
33dde339fe Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-01 18:11:55 +03:00
Alexander Alekhin
341e2fa72d Merge pull request #14214 from alalek:backport_14202 2019-04-01 14:39:25 +00:00
Alexander Alekhin
2ece029fe0 imgcodecs(tiff): avoid leak of helper struct on malformed inputs
backporting of commit: 45428b897f
2019-04-01 14:08:40 +00:00
Alexander Alekhin
6dfb6a3016 imgcodecs: fix RBaseStream::setPos() outside of current block
Seeking outside of the current block doesn't update actual data,
so getByte()/etc will get wrong data from stalled buffer.
2019-03-31 12:55:32 +00:00
Alexander Alekhin
f2803aba07 imgcodecs(sunras): avoid undefined shift
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13292
2019-03-31 12:14:42 +00:00
Alexander Alekhin
45428b897f imgcodecs(tiff): avoid leak of helper struct on malformed inputs
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13285
2019-03-31 11:50:33 +00:00
Alexander Alekhin
ccb89a889a imgcodecs(bmp): limit size of processed images
2Gb+ images can't be handled properly by current implementation

backporting of commit: 50a6f9d251
2019-03-31 10:52:33 +00:00
Alexander Alekhin
50a6f9d251 imgcodecs(bmp): limit size of processed images
2Gb+ images can't be handled properly by current implementation

ozz-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13295
2019-03-31 10:48:07 +00:00
Alexander Alekhin
26087e28ad Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-15 22:42:57 +00:00
Alexander Alekhin
43c68d1864 imgcodecs: OPENCV_IO_ENABLE_JASPER runtime parameter 2019-03-14 21:43:24 +00:00
Alexander Alekhin
bd1fd59fc1 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-13 19:13:13 +00:00
rpici
9cca066ee8
Fix bug in test_tiff.cpp
The big endian data in the tiff_sample_data array was never being tested.  This could be observed by e.g. changing the 9th byte in the big endian data from 0xde to something that should fail the test, e.g. 0xdd, and the test would still pass even though it should fail.
2019-03-13 09:42:47 -05:00
Alexander Alekhin
8c0b0714e7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-11 19:20:22 +00:00
Gregor Mittag
d71977b4dd Add JPEG2000 compression flag. 2019-03-10 07:59:09 +01:00
Rajkiran Natarajan
40af53b1d6 issue-13921: Support setting compression setting for writing tiff images 2019-03-09 15:48:21 -05:00
klemens
997b7b18af spelling fixes 2019-02-09 22:29:54 +01:00
Alexander Alekhin
ea64e860de Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-12-09 13:21:58 +00:00
LaurentBerger
f1dc26d7ce Merge pull request #13382 from LaurentBerger:imreadsize
* try to solve #13381

* Add note
2018-12-09 15:05:27 +03:00
Alexander Alekhin
c0016d7fe9
Merge pull request #13253 from alalek:fix_13201
* cmake: install 'legacy/constants_c.h' files

* samples: add compatibility test code
2018-11-23 20:02:46 +03:00
pascal
7579cd8068 updated documentation for imread and imwrite (added pfm image format) 2018-11-21 17:59:37 +01:00
Alexander Alekhin
a574788e89 move legacy C-API constants into separate files 2018-11-17 23:47:51 +00:00
Alexander Alekhin
1913482cf5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-10 20:50:26 +00:00
Vadim Pisarevsky
11eafca3e2
removed C API in the following modules: photo, video, imgcodecs, videoio (#13060)
* 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
2018-11-09 00:52:09 +03:00
Alexander Alekhin
b74b05d1b3 Revert CV_TRY/CV_CATCH macros
This reverts commit 7349b8f5ce (partially).
2018-11-08 19:56:52 +03:00
Alexander Alekhin
687fa6a8ca Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-02 05:33:35 +00:00
Ilari Venäläinen
e6c41f0de6 Merge pull request #12989 from venalil:fix_thresholded_tiff_read
* 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
2018-11-01 14:34:34 +03:00
Suleyman TURKMEN
4d0ed5c13c Merge pull request #12971 from sturkmen72:upd_imgproc_hpp
* Update imgproc.hpp

* update color conversion codes
2018-10-31 18:08:24 +03:00
Maksim Shabunin
0ccd810738 Fixed several issues found by static analysis 2018-10-25 10:45:59 +03:00
Alexander Alekhin
5115e5decb Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-13 16:19:05 +00:00
drkoller
978ad4981e Clean up documentation for imread and imwrite 2018-10-12 17:08:01 -04:00
Alexander Alekhin
690fb0544c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-02 14:31:05 +03:00
Alexander Alekhin
9253e8bda2
Merge pull request #12705 from berak:imread_document_grayscale 2018-09-30 23:59:48 +03:00
berak
df4139d373 document imread grayscale behaviour 2018-09-30 15:22:26 +02:00
Alexander Alekhin
dca657a2fd Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-10 00:10:21 +03:00
cyy
286c2c236b Merge pull request #12458 from DEEPIR:3.4
* 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
2018-09-07 18:43:47 +03:00
Alexander Alekhin
73bfe68821 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-07 12:40:27 +03:00
Alexander Alekhin
8a3c394d6a don't use constructors for C API structures 2018-09-06 14:34:16 +03:00
Alexander Alekhin
d74b98c3d9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-04 18:39:03 +00:00
Alexander Alekhin
acce95f446 backport fixes for static analyzer warnings
Commits:
- 09837928d9
- 10fb88d027

Excluded changes with std::atomic (C++98 requirement)
2018-09-04 16:49:42 +03:00
cyy
10fb88d027 Merge pull request #12391 from DEEPIR:master
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
2018-09-04 16:39:19 +03:00
Alexander Alekhin
20bf7b6a79 imgcodecs(webp): use safe cast to size_t on Win32 2018-09-02 10:00:52 +00:00
Jakub Golinowski
9f1218b00b Merge pull request #11897 from Jakub-Golinowski:hpx_backend
* Add HPX backend for OpenCV implementation
Adds hpx backend for cv::parallel_for_() calls respecting the nstripes chunking parameter. C++ code for the backend is added to modules/core/parallel.cpp. Also, the necessary changes to cmake files are introduced.
Backend can operate in 2 versions (selectable by cmake build option WITH_HPX_STARTSTOP): hpx (runtime always on) and hpx_startstop (start and stop the backend for each cv::parallel_for_() call)

* WIP: Conditionally include hpx_main.hpp to tests in core module
Header hpx_main.hpp is included to both core/perf/perf_main.cpp and core/test/test_main.cpp.
The changes to cmake files for linking hpx library to above mentioned test executalbles are proposed but have issues.

* Add coditional iclusion of hpx_main.hpp to cpp cpu modules

* Remove start/stop version of hpx backend
2018-08-31 16:23:26 +03:00
Vadim Pisarevsky
4b03a4a841 Merge pull request #12353 from alalek:imgcodecs_fix_webp 2018-08-31 13:03:10 +00:00
Alexander Alekhin
0d4fd20a73 imgcodecs: add null pointer check 2018-08-31 12:56:02 +03:00
Alexander Alekhin
0515f930e8 imgcodecs(webp): multiple fixes
- don't reallocate passed 'img' (test fixed - must use IMREAD_UNCHANGED / IMREAD_ANYCOLOR)
- avoid memory DDOS
- avoid reading of whole file during header processing
- avoid data access after allocated buffer during header processing (missing checks)
- use WebPFree() to free allocated buffers (libwebp >= 0.5.0)
- drop unused & undefined `.close()` method
- added checks for channels >= 5 in encoder
2018-08-30 20:42:33 +00:00
Alexander Alekhin
6356403964 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-08-22 17:38:51 +03:00
Colin Smith
76f47548b3 Add export macro for ios conversion functions 2018-08-20 14:10:54 -07:00
pasbi
76eb389761 Merge pull request #12240 from pasbi:pfm_fix
* fixed 64-float pfm auto conversion

* removed trailing whitespace
2018-08-17 18:53:09 +03:00
pasbi
9f5f64e14e Merge pull request #12192 from pasbi:pfm
* 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
2018-08-13 13:14:12 +03:00
Maksim Shabunin
cbb1e867e5 More issues found by static analysis 2018-07-24 16:04:42 +03:00
Alexander Alekhin
b09a4a98d4 opencv: Use cv::AutoBuffer<>::data() 2018-07-04 19:11:29 +03:00
Alexander Alekhin
5557474467 imgcodecs(sunras): avoid buffer overrun
`src_pitch` may be large than data `step`
2018-07-02 12:56:50 +03:00
Alexander Alekhin
2f9b4439af Merge pull request #11565 from alalek:issue_11545 2018-05-22 16:00:37 +00:00
Alexander Enaldiev
84584002f2 Merge pull request #11417 from Turim:imgcodecs_cmake_decoders_customize_formats
* imgcodecs cmake: the option to customize supported formats list (WITH_IMGCODEC_HDR, WITH_IMGCODEC_SUNRASTER, WITH_IMGCODEC_PXM)

* imgcodecs: fixes

- fixed CMake scripts (=OFF doesn't really work)
- restore dropped GDCM block
- added _IMGCODEC_ prefix
- fixed tests
- include PAM format under WITH_IMGCODEC_PXM option
2018-05-22 15:10:15 +00:00
Alexander Alekhin
35a4551609 imgcodecs: fix imwrite handling of different OutputArray types 2018-05-22 13:57:51 +03:00
Alexander Alekhin
76ac7ab4ef imgcodecs: added test for imwrite parameter types
issue 11545
2018-05-22 13:55:14 +03:00
Alexander Alekhin
f8252702a8 3rdparty: integrate libjpeg-turbo build scripts into OpenCV 2018-05-11 18:29:57 +03:00
Alexander Alekhin
6b581c4e51 build: unreachable code after CV_Error() (part 2) 2018-04-24 16:03:40 +03:00
Alexander Alekhin
576d2dbac0 refactor: don't use CV_ErrorNoReturn() internally 2018-04-24 15:38:42 +03:00
Vadim Pisarevsky
72cb06abf0 Merge pull request #11231 from saskatchewancatch:tiff-dpi-feature 2018-04-09 13:28:08 +00:00
Alexander Alekhin
a22ee76b45 imgcodecs: exclude rle8.bmp from GDAL tests
GDAL message:
- ERROR 1: The BMP file is probably corrupted or too large. Image width = 480
2018-04-09 13:18:33 +03:00
Rajkiran Natarajan
4668836071 Support for setting TIFF DPI info in imwrite 2018-04-04 21:20:16 -07:00
catree
a885480c9e Remove temporary file used for test. 2018-03-29 18:34:30 +02:00
RAJKIRAN NATARAJAN
6d83a80385 Merge pull request #11176 from saskatchewancatch:issue-11165
* fix cv::imwrite to allow cv::UMat and vectors of it to be written

* cv::imwrite failure handling improvements

* Unit test for regression testing imwrite support for and fix whitespace
2018-03-29 16:47:31 +03:00
Alexander Alekhin
a91953b15c imgcodecs: apply CV_OVERRIDE/CV_FINAL 2018-03-28 17:57:59 +03:00
Maksim Shabunin
7c855aa3e1 Fixed two issues found by static analysis 2018-02-26 00:16:02 +03:00
Maksim Shabunin
92e9d4ec3a Fixed several issues detected by static analysis 2018-02-22 17:11:33 +03:00
Alexander Alekhin
6e8241b78d imgcodecs: fix RBaseStream hang on truncated inputs 2018-02-21 13:17:18 +03:00
Rostislav Vasilikhin
27b1f8f446 imwrite for multipage images implemented 2018-02-20 19:08:45 +03:00
Vadim Pisarevsky
120b7a61c3 Merge pull request #10745 from terfendail:tiff_fix 2018-02-20 14:47:13 +00:00
Vitaly Tuzov
24ee7b5080 Fix for vertically flipped tiff files reading 2018-02-19 18:49:19 +03:00
Alexander Alekhin
c020a7bb67 build: portable integer types 2018-02-15 23:43:02 +03:00
luz.paz
d05714995c Misc. modules/ cont. pt2
Found via `codespell`
2018-02-13 11:28:11 -05:00
Alexander Alekhin
4a297a2443 ts: refactor OpenCV tests
- removed tr1 usage (dropped in C++17)
- moved includes of vector/map/iostream/limits into ts.hpp
- require opencv_test + anonymous namespace (added compile check)
- fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
- added missing license headers
2018-02-03 19:39:47 +00:00
Alexander Alekhin
f056e713c3 Merge pull request #10512 from sturkmen72:update_documentation 2018-01-18 04:44:59 +00:00
Maksim Shabunin
8b87c4b96a Fixed several warnings produced by clang 6 and static analyzers 2018-01-16 15:26:28 +03:00
Suleyman TURKMEN
dcd4f8f5db Update documentation 2018-01-12 22:21:14 +03:00
Alexander Alekhin
73316e10a0 java(test): fix test names 2018-01-12 19:14:00 +00:00
Alexander Alekhin
f943261847 Merge pull request #10566 from alalek:jasper_checks 2018-01-10 10:15:41 +00:00
Alexander Alekhin
435a3e337b imgcodecs: add more Jasper checks for supported and tested cases 2018-01-09 19:06:03 +03:00
Alexander Alekhin
8a76fadaa3 imgcodecs: add overflow checks 2018-01-09 18:05:24 +03:00
Alexander Alekhin
be5247921d imgcodecs: remove assert() usage 2018-01-09 17:49:38 +03:00
Alexander Alekhin
f0453bd853 build: eliminate warning
warning: 'layout.channel_layout::gchan' may be used uninitialized in this function [-Wmaybe-uninitialized]
2018-01-05 04:33:30 +00:00
Coralie RACHEX
16821b877c Merge pull request #10493 from RachexCoralie:tiff32FC1Codec
* Load and save tiff images in CV_32FC1 format (1 channel of floats).

* Add test

* Fix error handling and resources leak. Improve test.
2018-01-04 15:51:58 +03:00
Alexander Alekhin
4ca89db22d imgproc(hdr): fix bounds check in HdrDecoder::checkSignature() 2018-01-01 13:12:21 +00:00
Alexander Alekhin
ec32022bdf
Merge pull request #10444 from alalek:fix_asan_imgcodecs 2017-12-28 18:28:29 +03:00
Vinay Sharma
5aac909046 Merge pull request #10352 from vinay0410:write_pbm
* added write as pbm

* add tests for pbm

* imgcodecs: PBM support

- drop additional PBM parameters
- write: fix P1/P4 mode (no maxval 255 value after width/height)
- write: invert values for P1/P4
- write: P1: compact ASCII mode (no spaces)
- simplify pbm test
- drop .pxm extension (http://netpbm.sourceforge.net/doc/ doesn't know such extension)
2017-12-28 17:28:34 +03:00
Alexander Alekhin
4f6c493b87 imgcodecs(png): resolve ASAN issue with vars scope and setjmp() call 2017-12-28 02:43:07 +00:00
Tomoaki Teshima
fe7b3f1228 clean up the code
* disable the warning in CMake, not int the code using pragma
2017-12-22 08:42:21 +09:00
Alexander Alekhin
7bbe1a53cf imgcodecs(pxm): fix memcpy size 2017-12-21 01:10:24 +00:00
zhijackchen
6df8ac0342 Merge pull request #10283 from zhijackchen:exr_export
* Fix issue #10114
Convert table change
From:
CV_8U -> HALF
CV_8S -> HALF
CV_16U -> UINT
CV_16S -> UINT
CV_32S -> UINT
CV_32F -> FLOAT
To:
CV_8U -> HALF
CV_8S -> HALF
CV_16U -> UINT
CV_16S -> FLOAT
CV_32S -> FLOAT loss precision
CV_32F -> FLOAT
Signed integer can't be presented well with UINT. Even adjust bias, CV16S and CV32S will be confused when load from exr file.
Also fix CV_8S negative value incorrect bug

* EXR import and export
imread() from EXR returns CV_32F only
imwrite() accepts CV_32 cv::Mat only and stores FLOAT images by default. Add imwrite() flag to store in HALF format.

* fix compiling error

* clean up

* fix EXR import issues
2017-12-15 12:23:44 +03:00
Vitaly Tuzov
51cb56ef2c Implementation of bit-exact resize. Internal calls to linear resize updated to use bit-exact version. (#9468) 2017-12-13 15:00:38 +03:00
Maksim Shabunin
7349b8f5ce Build for embedded systems 2017-12-11 13:27:37 +03:00
Maksim Shabunin
7eb1065944 Fixed/disabled warnings produced by GCC 7 2017-11-29 17:21:22 +03:00
gdkessler
2674c6b5e0 Merge pull request #10093 from gdkessler/gdal_image_read_fix_10089
Fix GDAL image decoding color problems identified by issue #10089, by: (#10093)

* Fix GDAL image decoding color problems identified by issue #10089, by:

Fixing CV_8UC1 symbol, which should be CV_8UC3 for RGB GDAL color table images.

Fixing image.ptr<VecX>(row,col)[] to be (*image.ptr<VecX>(row,col))[] to correctly access VecX array elements, as ptr<VecX>() returns a pointer to the VecX, not the first element of VecX. This fixes the color problem with color table gif images, and avoids out-of-bounds memory access.

Respecting the color identification of raster bands provided by the GDAL image driver, and produce BGR or BGRA images. Note that color bands of images using the HSL, CMY, CMYK, or YCbCr color space are ignored, rather than converting them to BGR.

* When reading image files using the GDAL decoder, exit with an error if a color band is encountered that isn't used (eg. from CMYK or YCbCbr), rather than silently ignoring the band's data.
2017-11-20 15:07:24 +03:00
Suleyman TURKMEN
e51a8e047c update grfmt_gdal.cpp 2017-11-08 17:47:43 +03:00
Suleyman TURKMEN
d1c5e79ec3 Update grfmt_gdal.cpp 2017-10-22 19:01:34 +03:00
blendin
08a5fe3661 Fix out of bounds write 2017-10-21 12:12:53 -07:00
berak
089aac61f3 imgcodecs: fix 4 reading channel bmp images 2017-10-01 15:32:55 +02:00
blendin
c58152d94b Fix out of bounds write 2017-09-26 23:04:01 -07:00
Alexander Alekhin
08b5dc64af imgcodecs(tiff): drop legacy code
Drop code under *undefined* HAVE_TIFF
(violates several policies, like a way to turn off tiff support)
2017-09-24 22:36:17 +00:00
Alexander Alekhin
597b3f4456 Merge pull request #9580 from mshabunin:fix-static-6 2017-09-09 19:31:21 +00:00
Alexander Alekhin
9c973144d8 Merge pull request #9595 from paroj:imreadmulti_py 2017-09-08 14:03:03 +00:00
Pavel Rojtberg
2d34443834 python: imreadmulti - add CV_OUT so it is correctly wrapped 2017-09-08 15:09:25 +02:00
Maksim Shabunin
248e2c7d47 Fixed some issues found by static analysis 2017-09-08 12:22:12 +03:00
saskatchewancatch
4832c24ef7 Allow TIFF min=white PHOTOMETRIC interpretation images to be read unchanged 2017-09-05 21:43:33 -06:00
Alexander Alekhin
8f05126619 imgcodecs: fix regression 9376 2017-08-29 13:31:26 +03:00
Alexander Alekhin
91f680aff6 Merge pull request #9448 from alalek:issue_9443 2017-08-24 16:05:08 +00:00
Alexander Alekhin
cc5da83474 Merge pull request #9252 from jbms:fix/tiff-in-memory 2017-08-24 15:33:48 +00:00
Alexander Alekhin
c515e878ab build: eliminate Win32 warnings 2017-08-24 16:07:12 +03:00
Alexander Alekhin
aacae20657 imgcodesc: fix code problems with integer overflow / address arithmetic / UB 2017-08-23 17:27:27 +03:00
Alexander Alekhin
f0fb665407 Merge pull request #9376 from alalek:imgcodecs_refactoring 2017-08-22 16:32:47 +00:00
Alexander Alekhin
b6949c5088 cmake: CMP0022 NEW 2017-08-19 15:15:05 +00:00
Alexander Alekhin
78a310630f imgproc(test): add checks for remove() call 2017-08-16 18:56:42 +03:00
Alexander Alekhin
999f41fb4f imgcodecs: refactoring, improve code quality 2017-08-16 18:56:41 +03:00
Jeremy Maitin-Shepard
350d483a70 grfmt_tiff: support in-memory TIFF encoding and decoding
Previously, only file-based encoding and decoding were supported with
the libtiff library, leading to the possible use of temporary files.

This fixes issue #8483.
2017-07-31 10:22:11 -07:00
Jeremy Maitin-Shepard
2be955a0ef loadsave: check for errors when using temp file
Previously, the return value of fwrite and fclose were not properly
checked, leading to possible silent truncation of the data if writing
failed, e.g. due to lack of disk space.

Fixes issue #9251.
2017-07-31 09:02:42 -07:00
Alexander Alekhin
602f047fe8 build: replace WIN32 => _WIN32 2017-07-25 13:30:48 +03:00
Alexander Alekhin
a4a47b538c build: detect Android via '__ANDROID__' macro
https://sourceforge.net/p/predef/wiki/OperatingSystems
2017-07-10 12:43:59 +03:00
Maksim Shabunin
e0393f8557 Fixed some issues found by static analysis (4th round) 2017-06-30 12:26:53 +03:00
Maksim Shabunin
a769d69a9d Fixed several issues found by static analysis 2017-06-28 18:06:18 +03:00