Update of /cvsroot/wavelet/Wavelet
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20244
Modified Files:
ChangeLog Image.cc
Log Message:
Fixed Image::gammaCorrection() for more than 256 color steps.
Index: Image.cc
===================================================================
RCS file: /cvsroot/wavelet/Wavelet/Image.cc,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** Image.cc 13 Jul 2005 13:15:06 -0000 1.17
--- Image.cc 13 Jul 2005 13:55:53 -0000 1.18
***************
*** 250,258 ****
coeff norm = 255.0;
coeff lift = 0.0;
! static coeff replaceTable[256];
if (iMin >= 0 && iMax <= 255)
{
! norm = max - min;
}
--- 250,261 ----
coeff norm = 255.0;
coeff lift = 0.0;
! coeff cRange = max - min;
! int tableSize = (int)(cRange + 0.5);
!
! coeff *replaceTable = NEW (coeff[tableSize]);
if (iMin >= 0 && iMax <= 255)
{
! norm = cRange;
}
***************
*** 263,267 ****
replaceTable[0] = 0.0;
! for (int i = 1; i < (int)sizeof (replaceTable); i++)
{
replaceTable[i] = norm * pow ((coeff)i / norm, 1.0 / factor) - lift;
--- 266,270 ----
replaceTable[0] = 0.0;
! for (int i = 1; i < tableSize; i++)
{
replaceTable[i] = norm * pow ((coeff)i / norm, 1.0 / factor) - lift;
***************
*** 271,274 ****
--- 274,279 ----
to (i , replaceTable[(int)(at (i) + lift)]);
}
+
+ DELETE (replaceTable);
}
Index: ChangeLog
===================================================================
RCS file: /cvsroot/wavelet/Wavelet/ChangeLog,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** ChangeLog 8 Apr 2005 08:17:32 -0000 1.21
--- ChangeLog 13 Jul 2005 13:55:53 -0000 1.22
***************
*** 1,2 ****
--- 1,7 ----
+ 2005-07-13 Herbert <he...@sp...>
+ * Optimized Image::gammaCorrection()
+ * New Image::gammaCorrectionAuto()
+ * Fixed Image::histEqualize(); explicit color range is necessary!
+
2005-04-08 Herbert <he...@sp...>
* Fixed code in class VideoArray to make it compile with g++-3.4. No
|