Commit Graph

258 Commits

Author SHA1 Message Date
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