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.
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.
- 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
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.
- 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)
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