33 #include <visp3/ustk_core/usLogCompressor.h>
35 #if defined(USTK_HAVE_FFTW)
37 #include <visp3/core/vpMath.h>
45 m_compressionTable =
new unsigned char[65536];
46 double denom = exp(m_alpha * log(65535.0)) / 255.0;
47 for (
unsigned int i = 0; i < 65536; ++i)
48 m_compressionTable[i] = (
unsigned char)(exp(m_alpha * log(i)) / denom);
56 if (m_compressionTable) {
57 delete[] m_compressionTable;
58 m_compressionTable = NULL;
68 if (alpha != m_alpha) {
70 double denom = exp(m_alpha * log(65535.0)) / 255.0;
71 for (
unsigned int i = 0; i < 65536; ++i)
72 m_compressionTable[i] = (
unsigned char)(exp(m_alpha * log(i)) / denom);
86 for (
unsigned int i = 0; i < size; ++i)
87 dst[i] = m_compressionTable[vpMath::round(src[i])];
~usLogCompressor()
Destructor.
usLogCompressor()
Constructor.
void run(unsigned char *dst, const double *src, unsigned int size)