32-bit tiff files are not supported (Feature #955)


Added by Ilya Lysenkov almost 14 years ago. Updated almost 14 years ago.


Status:Done Start date:
Priority:High Due date:
Assignee:Ilya Lysenkov % Done:

0%

Category:highgui-images
Target version:-
Difficulty: Pull request:

Description

I can read successfully 16-bit GeoTIFF files with OpenCV (GeoTIFF format is fully compliant with TIFF 6.0) but I can't read 32-bit files. GeoTIFF is the most common format in geoinformatics so supporting of TIFF format with all depths and signs is critical for OpenCV to be applicable in this field.

You can download samples of GeoTIFF files here: ftp://ftp.remotesensing.org/pub/geotiff/samples

Example of a 32-bit file (13 Mb):
ftp://ftp.remotesensing.org/pub/geotiff/samples/made_up/ilatlon_float.tif

I've used following code to check a loaded format:
Mat image = imread("ilation_float.tif", CV_LOAD_IMAGE_UNCHANGED);
cout << (image.type() == CV_8UC1) << endl;

This code prints "1" but "$identify ilation_float.tif" returns 32-bit Grayscale.

P.S. Now 16-bit signed integers are converted to unsigned format when reading a tiff file. Full support for signed format is also desirable.


Associated revisions

Revision 02cd916c
Added by Ilya Lysenkov almost 14 years ago

Added reading of floating point tiff data: 32- and 64-bit (ticket #955)

Revision e53b7d04
Added by Roman Donchenko almost 12 years ago

Merge pull request #955 from SpecLad:symlink

Revision 3bfc6974
Added by Roman Donchenko almost 12 years ago

Merge remote-tracking branch 'origin/2.4' into merge-2.4

Merged pull requests:
#890 from caorong:patch-1
#893 from jet47:gpu-arm-fixes
#933 from pengx17:2.4_macfix_cont
#935 from pengx17:2.4_filter2d_fix
#936 from bitwangyaoyao:2.4_perf
#937 from bitwangyaoyao:2.4_fixPyrLK
#938 from pengx17:2.4_surf_sample
#939 from pengx17:2.4_getDevice
#940 from SpecLad:autolock
#941 from apavlenko:signed_char
#946 from bitwangyaoyao:2.4_samples2
#947 from jet47:fix-gpu-arm-build
#948 from jet47:cuda-5.5-support
#952 from SpecLad:jepg
#953 from jet47:fix-bug-3069
#955 from SpecLad:symlink
#957 from pengx17:2.4_fix_corner_detector
#959 from SpecLad:qt4-build
#960 from SpecLad:extra-modules

Conflicts:
modules/core/include/opencv2/core/core.hpp
modules/gpu/CMakeLists.txt
modules/gpu/include/opencv2/gpu/device/vec_math.hpp
modules/gpu/perf/perf_video.cpp
modules/gpuimgproc/src/cuda/hough.cu
modules/ocl/include/opencv2/ocl/ocl.hpp
modules/ocl/src/pyrlk.cpp
samples/gpu/driver_api_multi.cpp
samples/gpu/driver_api_stereo_multi.cpp
samples/ocl/surf_matcher.cpp

History

Updated by Vadim Pisarevsky almost 14 years ago

since the workaround is found, the priority and the type of the ticket is changed.

Updated by Ilya Lysenkov almost 14 years ago

Thank you for this ticket. Fixed in -r5326.

  • Status set to Done
  • (deleted custom field) set to fixed

Updated by Ilya Lysenkov almost 14 years ago

No, thank you for fixing! I will check out trunk.

Also available in: Atom PDF