Commit 18083851 authored by Davis King's avatar Davis King

Added missing requirement to the equalize_histogram() and get_histogram() routines.

parent 7abc94b2
...@@ -27,6 +27,9 @@ namespace dlib ...@@ -27,6 +27,9 @@ namespace dlib
{ {
COMPILE_TIME_ASSERT( pixel_traits<typename in_image_type::type>::is_unsigned == true ); COMPILE_TIME_ASSERT( pixel_traits<typename in_image_type::type>::is_unsigned == true );
typedef typename pixel_traits<typename in_image_type::type>::basic_pixel_type in_image_basic_pixel_type;
COMPILE_TIME_ASSERT( sizeof(in_image_basic_pixel_type) < sizeof(long));
// make sure hist is the right size // make sure hist is the right size
if (R == 1) if (R == 1)
hist.set_size(1,pixel_traits<typename in_image_type::type>::max()+1); hist.set_size(1,pixel_traits<typename in_image_type::type>::max()+1);
...@@ -64,6 +67,9 @@ namespace dlib ...@@ -64,6 +67,9 @@ namespace dlib
COMPILE_TIME_ASSERT( pixel_traits<typename in_image_type::type>::is_unsigned == true ); COMPILE_TIME_ASSERT( pixel_traits<typename in_image_type::type>::is_unsigned == true );
COMPILE_TIME_ASSERT( pixel_traits<typename out_image_type::type>::is_unsigned == true ); COMPILE_TIME_ASSERT( pixel_traits<typename out_image_type::type>::is_unsigned == true );
typedef typename pixel_traits<typename in_image_type::type>::basic_pixel_type in_image_basic_pixel_type;
COMPILE_TIME_ASSERT( sizeof(in_image_basic_pixel_type) < sizeof(long));
typedef typename in_image_type::type in_pixel_type; typedef typename in_image_type::type in_pixel_type;
typedef typename out_image_type::type out_pixel_type; typedef typename out_image_type::type out_pixel_type;
......
...@@ -27,6 +27,7 @@ namespace dlib ...@@ -27,6 +27,7 @@ namespace dlib
- pixel_traits<typename out_image_type::type>::has_alpha == false - pixel_traits<typename out_image_type::type>::has_alpha == false
- pixel_traits<typename in_image_type::type>::is_unsigned == true - pixel_traits<typename in_image_type::type>::is_unsigned == true
- pixel_traits<typename out_image_type::type>::is_unsigned == true - pixel_traits<typename out_image_type::type>::is_unsigned == true
- pixel_traits<typename in_image_type::type>::max() < std::numeric_limits<long>::max()
ensures ensures
- #out_img == the histogram equalized version of in_img - #out_img == the histogram equalized version of in_img
- #out_img.nc() == in_img.nc() - #out_img.nc() == in_img.nc()
...@@ -49,6 +50,7 @@ namespace dlib ...@@ -49,6 +50,7 @@ namespace dlib
requires requires
- in_image_type == is an implementation of array2d/array2d_kernel_abstract.h - in_image_type == is an implementation of array2d/array2d_kernel_abstract.h
- pixel_traits<typename in_image_type::type>::is_unsigned == true - pixel_traits<typename in_image_type::type>::is_unsigned == true
- pixel_traits<typename in_image_type::type>::max() < std::numeric_limits<long>::max()
- hist must be capable of representing a column vector of length - hist must be capable of representing a column vector of length
pixel_traits<typename in_image_type>::max(). I.e. if R and C are nonzero pixel_traits<typename in_image_type>::max(). I.e. if R and C are nonzero
then they must be values that don't conflict with the previous sentence. then they must be values that don't conflict with the previous sentence.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment