Commit Graph

498 Commits

Author SHA1 Message Date
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
Maksim Shabunin
32d4af36e2 Fixing some static analysis issues 2017-06-27 14:30:26 +03:00
Alexander Alekhin
006966e629 trace: initial support for code trace 2017-06-26 17:07:13 +03:00
Vadim Pisarevsky
fa7e7e0ff9 Merge pull request #8900 from alalek:update_android_build 2017-06-23 10:58:53 +00:00
Maksim Shabunin
d27009c775 Merge pull request #8856 from mshabunin:media-tests-upgrade 2017-06-22 11:45:52 +00:00
Alexander Alekhin
3e3e2dd512 android: make optional "cpufeatures", build fixes for NDK r15 2017-06-21 13:34:19 +03:00
Maksim Shabunin
87b569d812 Rewritten some tests in videoio and imgcodecs modules
general:
- all iterative tests have been replaced with parameterized tests
- old-style try..catch tests have been modified to use EXPECT_/ASSERT_ gtest macros
- added temporary files cleanup
- modified MatComparator error message formatting

imgcodecs:
- test_grfmt.cpp split to test_jpg.cpp, test_png.cpp, test_tiff.cpp, etc.

videoio:
- added public HAVE_VIDEO_INPUT, HAVE_VIDEO_OUTPUT definitions to cvconfig.h
- built-in MotionJPEG codec could not be tested on some platforms (read_write test was disabled if ffmpeg is off, encoding/decoding was handled by ffmpeg otherwise).
- image-related tests moved to imgcodecs (Videoio_Image)
- several property get/set tests have been combined into one
- added MotionJPEG test video to opencv_extra
2017-06-20 18:20:41 +03:00
Alexander Alekhin
a9cc87636f build: update modules descriptions 2017-06-20 15:45:23 +03:00
saskatchewancatch
e4cb8a6f09 issue 8723: Changed doc for cv::imwrite to reflect correct default flag used for png compression strategy. 2017-05-12 00:01:38 -06:00
Alexander Alekhin
a7e80f7c10 Merge pull request #8645 from brian-armstrong-discord:bugfix_inmemory_exif 2017-04-25 10:32:00 +00:00
Brian Armstrong
40dc0bcd63 fix ByteStreamBuffer 2017-04-24 18:07:47 -07:00
berak
cbda9b332b imgcodecs: fix webp IMREAD_GRAYSCALE loading 2017-04-24 11:56:23 +02:00
brian-armstrong-discord
9e054d3880 Merge pull request #8492 from brian-armstrong-discord:exif_inmemory
autorotate in-memory jpegs (#8492)

* autorotate in-memory jpegs

* correct indentation (4 spaces)

* imgcodecs: don't apply EXIF rotation for unloaded images

* videoio: don't try to rotate MJPEG stream

* imgcodecs: ByteStreamBuffer::seekoff support all seek "dir"

* imgcodecs: fix condition: "off == egptr() - eback()" is valid offset
2017-04-14 23:12:07 +03:00
Chaoshuai Lu
de7018539d Fix UIImageToMat method by taking image scale information into account 2017-03-22 22:33:13 -07:00
Chaoshuai Lu
874fb7ae78 Fix MatToUIImage method crash when the step is not equal to cols * elemSize() 2017-03-22 22:04:27 -07:00
Alexander Alekhin
eaba0e6358 cmake: append '-framework UIKit' for videoio/imgcodecs module 2017-02-21 13:37:37 +03:00
Alexander Alekhin
1304ad1e12 Merge pull request #8160 from ilijapuaca:master 2017-02-14 13:03:09 +00:00
Alexander Alekhin
8633ef451e cmake: cleanup unused defines 2017-02-10 15:18:29 +03:00
Ilija Puaca
1b842c4762 Updated version of libwebp to 0.6.0. Removed iOS from build exceptions for libwebp 2017-02-09 23:35:27 +01:00
StevenPuttemans
22d8a81a57 enable processing of 16, 32 and 64 bit 4 channel data using GDAL1.2 2017-02-07 15:51:45 +01:00
Raj Natarajan
b7a053b0e5 Issue-7310: Updated imwrite doc to correct default setting for IMWRITE_PNG_COMPRESSION and clarified existing doc a bit. 2016-12-26 00:44:43 -06:00
Alexander Alekhin
d0f883524e cmake(osx): fix CoreImage error (#7916) 2016-12-23 11:30:17 +03:00
Maksim Shabunin
7d5fd6a800 Merge pull request #7812 from alalek:fix_putText 2016-12-15 13:33:56 +00:00
Alexander Alekhin
ee265962b2 test: move test_drawing into imgproc module 2016-12-07 22:04:25 +03:00
catree
c4d4158bd8 Add imread documentation note when EXIF orientation is embedded. 2016-12-07 18:08:18 +01:00
guoxuedong
e69253a4fb Update exif.cpp
ExifReader::getExif may enter infinite loop with jpeg image which have no EOI.
For example, bytesToSkip may be set to 0 and fseek seems like fseek(f, -2 , SEEK_CUR) for image that end with RST7(FF D7) instead of EOI.
2016-11-24 11:08:11 +08:00
Alexander Alekhin
099be88f02 Merge pull request #7638 from ArkadiuszRaj:move-exif-from-jpeg-to-loadsave 2016-11-14 13:37:42 +00:00
Arkadiusz Raj
40778fa30a Change name to minimize confusion 2016-11-10 15:31:34 +01:00
Arkadiusz Raj
4a9c84c570 Add static to local function 2016-11-10 15:04:28 +01:00
Arkadiusz Raj
f893ee5cec Added IMREAD_IGNORE_ORIENTATION flag 2016-11-09 18:09:22 +01:00
Vitaly Tuzov
1d045f2731 Added test for drawing beyond 32768 column 2016-10-14 18:38:01 +03:00
ArkadiuszRaj
797030aa90 Solution to issue #7408 2016-10-07 21:29:08 +02:00
Alexander Alekhin
1c18b1d245 Merge pull request #7370 from souch55:Fixxn 2016-10-01 10:44:56 +00:00
sourin
a34fbf7bb1 Fixed identifiers warns 2016-09-30 15:16:29 +05:30
Maksim Shabunin
48af5e5579 Merge pull request #7202 from valeriyvan:fixUIImageToMat 2016-09-06 20:45:19 +00:00
Alexander Alekhin
a92aed45a4 Merge pull request #7064 from DmtKats:pam 2016-09-06 16:56:27 +00:00
Dimitrios Katsaros
41431e11f5 Imgcodecs: Implemented simple tests for PAM format 2016-09-06 15:47:22 +02:00
Dimitrios Katsaros
4e513a3346 Imgcodecs: Fixed a bug with checkSignature in GdalDecoder
In cases where the signaure string contains a terminating character,
the std::string member function size returns a smaller value than the
allocated string. In these cases, if you then try to use substr,
you will get an out_of_range exception. This patch remedies the problem.
2016-09-06 15:47:22 +02:00
Dimitrios Katsaros
6172803012 imgcodecs: Implementation of PAM encoder/decoder
This patch implements the PAM image format as defined at:
http://netpbm.sourceforge.net/doc/pam.html

The PAM format provides a generic means for storing 2 dimensional information.
This is useful for opencv since there are cases where data gets translated into
non standardized formats, which makes it difficult to store and load this information.
2016-09-06 15:47:22 +02:00
Valeriy Van
464d289fa9 Gets rid of magic constant 2016-08-30 23:22:49 +03:00
Alexander Alekhin
4e8f8922e2 Merge pull request #7170 from alalek:fix_build 2016-08-29 10:15:58 +00:00
Maksim Shabunin
a21b8ed92c Merge pull request #7180 from mrquorr:add_dcm_test 2016-08-29 08:40:02 +00:00
mrquorr
a88bf4e5aa test added, only if HAVE_GDCM is on 2016-08-26 13:27:55 +00:00
Alexander Alekhin
5383a625a7 fix Win build, change default WINNT macro to WinXP
Returning to Win2k value is possible via this CMake option:

    cmake -DOPENCV_EXTRA_FLAGS="/D_WIN32_WINNT=0x0500" ...
2016-08-25 16:21:52 +03:00
Morrison
ca318e7099 handle images with alpha better
UIImages with alpha were ending up with garbage pixels in background (random memory values).  Need to initialize matrix pixels before drawing UIImage with alpha on it.

Note: didn’t fix Grayscale image with alpha stripping alpha in UIImage -> Mat conversion.
2016-08-16 15:10:48 -07:00
Patrick Spettel
84e1712659 Fix temporary file removal in imdecode for tiff
The TiffDecoder keeps an open file handle.
As a consequence the file cannot be removed
before the TiffDecoder closes the file.
2016-08-16 10:56:00 +02:00
Vadim Pisarevsky
1e17ffe9ac Merge pull request #6839 from thierrylamarre:better_png_transparency 2016-07-18 18:24:34 +00:00
Vadim Pisarevsky
b6f21a6cac Merge pull request #6813 from mshabunin:gdcm-cmake-search 2016-07-18 16:00:43 +00:00
thierry
ea911d34c6 remove 2-channel png encoder/decoder support 2016-07-14 14:58:05 +02:00
thierry
d40e46bc9b Merge branch 'master' into better_png_transparency
* master: (468 commits)
  added suppression for TBB valgrind issue
  update CUDA architecture flags initialization
  increase minimal supported CUDA toolkit to 6.5
  check the CPU flag correctly
  opencv_visualization: check cmdline args
  provide better error messages
  stop search of markers in Exif reader to prevent infinite loop
  Fix calibration fail on python with CALIB_THIN_PRISM_MODEL flag
  clarify CUDA arithm operations usage with mask
  fixed empty image condition in resize
  fixed memory leak in flann tests
  fisheye: add CALIB_FIX_PRINCIPAL_POINT
  get/put: more type-safety and code unification using templates
  py_tutorials: fix cv2.findContours return val
  imgproc: speed up threshold of 64F version using NEON and SSE   * use NEON under aarch64 only   * check 64F version correctly
  bigdata: add test, resolve split/merge issue
  Improved Carotene library linear resize evaluation precision and enabled it as HAL implementation.
  persistence: fixing crash with space-only values
  Removed unnecessary check for Android API level and unused flags.
  Fix for median blur of 2-channel images
  ...
2016-07-14 14:05:16 +02:00
Ilya Lavrenov
91d8405e52 stop search of markers in Exif reader to prevent infinite loop 2016-07-12 16:01:12 +03:00
Maksim Shabunin
f3bd508e6d GDCM: several improvements
- fixed width and height order
- removed unused methods
- simplified signature matching
- rewrote pixel format matching in more compact form
- added dimensions number check (only 2 is allowed)
- added target buffer size check
- added debug messages in all failing points
2016-07-08 16:08:55 +03:00
Maksim Shabunin
0fd0acf2e3 GDCM: modified compilation scheme
- renamed source files
- guard the contents - always include
2016-07-08 16:08:55 +03:00
look4pritam
6f22f49c02 Grassroots DiCoM i.e. GDCM based DICOM image reader is added. 2016-07-08 16:08:55 +03:00
Suleyman TURKMEN
e7ec580318 Update imgcodecs.hpp 2016-06-27 16:38:47 +03:00
Suleyman TURKMEN
1b22783d46 Update grfmt_png.cpp 2016-06-26 20:03:03 +03:00
Maksim Shabunin
c3d1f94ee6 Merge pull request #6446 from kevin-coder:bugfix_6445 2016-05-18 09:40:26 +00:00
Alexander Alekhin
67a734ce73 Merge branch '2.4' into master
Commits:
67fe57a add fixed video
db0ae2c Restore 2.4 source branch for bug fix 6317.
97ac59c Fix a memory leak indirectly caused by cvDestroyWindow
eb40afa Add a workaround for FFmpeg's color conversion accessing past the end of the buffer
421fcf9 Rearrange CvVideoWriter_FFMPEG::writeFrame for better readability
912592d Remove "INSTALL_NAME_DIR lib" target property
bb1c2d7 fix bug on border at pyrUp
2016-04-21 20:15:08 +03:00
Zhenqing, Hu
94a9e16943 Fix bug 6445
Root cause: when calling imread to read the pgm file, when returning with success reading file, the destructor will free the resource which used by memcpy, but in the code, the resource calculation was not correct, therefore, it will cause memory corruption during resource free.
2016-04-21 14:39:55 +08:00
Suleyman TURKMEN
98239664f6 fix for writing 16-bit jpeg2000 2016-04-17 00:37:28 +03:00
Robbert Klarenbeek
81b11ee463 Replace deprecated malloc.h 2016-03-16 11:37:27 +01:00
Maksim Shabunin
3a92371b60 EXIF reader: fixed file descriptor leak in case of broken tags 2016-02-25 12:19:11 +03:00
Maksim Shabunin
a54870aace Added filename emptyness check to the Exif reader, fixes 6120 2016-02-16 11:37:36 +03:00
Maksim Shabunin
112aa49104 ExifReader::getFormat : check buffer length before accessing, fixes 6059 2016-02-08 17:14:55 +03:00
thierry
bdb9cf4d47 fix inversed grayscale conditional 2016-01-18 17:56:26 +01:00
thierry
1b5352688f better png transparency handling 2016-01-18 16:10:02 +01:00
Alexander Alekhin
be23846c4e update osx and ios build_framework.py 2015-12-17 16:17:31 +03:00
Maksim Shabunin
4a294775da Coverity: fixed uninitialized field in ExifReader 2015-12-09 14:25:08 +03:00
Maksim Shabunin
a921761d18 Coverity: memory leak in OpenEXR reader 2015-12-09 14:25:08 +03:00
Maksim Shabunin
fc641e2bde Coverity: uninitialized values in ExifEntry_t structure 2015-12-09 14:17:46 +03:00
comdiv
81c746c2a8 32bit BITFIELDS compresion codec support #5707 Fixed
wsfixed
2015-11-25 00:03:35 +05:00
Maksim Shabunin
51797d133a Merge pull request #5653 from jia-kai:fix-jpeg-exif 2015-11-20 15:37:50 +00:00
Suleyman TURKMEN
99a286ef24 Update imgcodecs.hpp 2015-11-19 00:25:36 +02:00
jiakai
933dfed4b8 check offset in ExifReader::getString 2015-11-11 20:17:24 +08:00
jiakai
80df9ddedb check for exifSize 2015-11-05 18:32:51 +08:00
jiakai
1260060d7d check boundary in ExifReader 2015-11-05 17:58:35 +08:00
Vadim Pisarevsky
a69fd6029a Merge pull request #5512 from edgarriba:gdal_lan 2015-11-02 11:53:08 +00:00
edgarriba
f50858dd24 set GA_ReadOnly flag again since test error 2015-11-01 12:07:05 +01:00
edgarriba
a242556b1d Merge branch 'master' of https://github.com/Itseez/opencv into gdal_lan
Conflicts:
	modules/imgcodecs/include/opencv2/imgcodecs.hpp
2015-10-31 20:18:41 +01:00
edgarriba
decdae515b set GA_Update flag in order remove ERROR 8: band 1: Attempt to write to read only dataset inGDALRasterBand::Fill() 2015-10-31 20:11:05 +01:00
edgarriba
9ff14bc411 add support for float32 and float 64 2015-10-31 20:00:39 +01:00
Hajo Nils Krabbenhöft
a8e550f5bf Fixed crash when reading b/w tif images (fixes #5579) 2015-10-30 17:41:52 +03:00
Alexander Alekhin
8c2d712fb0 Merge pull request #5538 from micalan:JpegExif 2015-10-25 15:18:08 +00:00
micalan
0a306f8804 Camera orientation handling is added for jpeg files 2015-10-23 21:19:35 +03:00
Maksim Shabunin
ff35726fc3 Merge pull request #5432 from sturkmen72:patch-11 2015-10-22 12:24:47 +00:00
edgarriba
1e9bd59f07 load multi/hyperspectral images with using gdal 2015-10-14 09:16:04 +02:00
AlexanderStohr
0098c4b571 fix VS2010 error with type mismatch due to volatile qualifier 2015-10-13 16:15:49 +02:00
Suleyman TURKMEN
21c0acff24 Update imgcodecs.hpp 2015-10-02 14:00:24 +03:00
Suleyman TURKMEN
7c226ed7a2 adding new flags to imread to load image reduced 2015-09-28 02:00:02 +03:00
Maksim Shabunin
771af4f32d Some changes to support mingw-w64
- IPP is disabled by default when compiler is mingw (couldn't make it
work)
- fixed some warnings
- fixed some `__GNUC__` version checks (for correctness and convenience)
- removed UTF-8 BOM from hough.cpp (fixes #5253)
2015-09-01 00:59:08 +03:00
Vadim Pisarevsky
bd43c62a75 Merge pull request #5232 from sturkmen72:patch-6 2015-08-27 07:07:53 +00:00
Suleyman TURKMEN
f660461bb3 documentation patch 2015-08-26 17:40:38 +03:00
Maksim Shabunin
9e4c62967b Fixed RGBE images header parsing (fixes #4885) 2015-08-13 17:24:54 +03:00
Maksim Shabunin
14d7b38613 Fixing GCC 4.9 warnings 2015-07-22 16:12:31 +03:00
Vadim Pisarevsky
a7805301cb Merge pull request #4201 from sturkmen72:new_function_imread_reduced 2015-07-21 11:49:51 +00:00
Suleyman TURKMEN
7b7d54df68 new function imread_reduced()
by this new function we can set libjpeg "scale_denom" parameter and load jpeg images scaled 1/2 - 1/4 - 1/8
other image formats resized after loading
2015-07-19 03:53:43 +03:00
Stefan Cornelius
851f20e40c Fix processing of SunRaster images with negative maplength 2015-06-25 00:17:49 +02:00
themightyoarfish
125782c061 fixed copy-paste errors 2015-06-17 12:08:34 +02:00
themightyoarfish
d647261de2 Fixed alpha preservation when converting 4-channel Mat to UIImage 2015-06-11 14:59:57 +02:00
Andreas Stührk
3ec0e0943c TIFF loader: Allocate large enough buffer when (bpp * ncn) > 8.
Conflicts:
	modules/highgui/src/grfmt_tiff.cpp

floodfill return value removed
2015-05-24 14:06:33 +02:00
Andreas Stührk
c9481b0fd7 Don't allocate lots of memory when reading TIFFs with infinite rows per strip.
Some TIFF images consist of only one strip. The magic value 2**32-1 for the
"rows per strip" tag reflects that fact, effectively meaning "infinite".

Conflicts:
	modules/highgui/src/grfmt_tiff.cpp
	modules/highgui/test/test_grfmt.cpp

fix whitespace

fix compile error
2015-05-24 14:06:20 +02:00
Alexander Smorkalov
6e1a595342 GCC 4.8 warning array subscript is above array bounds fixed.
tiff test fixed
2015-05-24 13:31:01 +02:00
Marvin Smith
ae933db526 Fixing the gdal include error that Macports seems to only mess up. 2015-05-11 20:27:50 -07:00
StevenPuttemans
0baaf0a60f fixing old variables in documentation and transfering to the new interface 2015-05-05 15:05:39 +02:00
Ahmatnurov Dinar
2358c79db2 move 3265 to 3.0; 2015-04-16 14:36:46 +03:00