Improve denoise equalizer wavelet levels

This commit is contained in:
Desmis 2020-05-17 14:07:54 +02:00
parent 1d66bdc002
commit 90180a7d1f
2 changed files with 7 additions and 7 deletions

View File

@ -2214,7 +2214,7 @@ bool ImProcFunctions::WaveletDenoiseAll_BiShrinkL(const wavelet_decomposition &W
int maxlvl = min(WaveletCoeffs_L.maxlevel(), 5);
const float eps = 0.01f;
if (edge == 1 || edge == 3 || edge == 4) {
if (edge == 1 || edge == 3 || edge == 4 || edge == 5) {
maxlvl = 4; //for refine denoise edge wavelet
}
@ -2286,7 +2286,7 @@ bool ImProcFunctions::WaveletDenoiseAll_BiShrinkL(const wavelet_decomposition &W
for (int i = 0; i < Hlvl_L * Wlvl_L; ++i) {
nvl[i] = 0.f;
}
if ((edge == 1 || edge == 2 || edge == 3) && vari) {
if ((edge == 1 || edge == 2 || edge == 3 || edge == 5) && vari) {
// nvl = blurBuffer; // we need one buffer, but fortunately we don't have to allocate a new one because we can use blurBuffer
if ((edge == 1 || edge == 3)) {
for (int i = 0; i < Hlvl_L * Wlvl_L; ++i) {
@ -2294,7 +2294,7 @@ bool ImProcFunctions::WaveletDenoiseAll_BiShrinkL(const wavelet_decomposition &W
}
}
if (edge == 2 || edge == 4) {
if (edge == 2 || edge == 4 || edge == 5) {
for (int i = 0; i < Hlvl_L * Wlvl_L; ++i) {
nvl[i] = vari[lvl] * SQR(noisevarlum[i]);
}
@ -2569,7 +2569,7 @@ bool ImProcFunctions::WaveletDenoiseAllL(const wavelet_decomposition &WaveletCoe
int maxlvl = min(WaveletCoeffs_L.maxlevel(), 5);
if (edge == 1 || edge == 3) {
if (edge == 1 || edge == 3 || edge == 5) {
maxlvl = 4; //for refine denoise edge wavelet
}
@ -2713,7 +2713,7 @@ void ImProcFunctions::ShrinkAllL(const wavelet_decomposition &WaveletCoeffs_L, f
nvl[i] = 0.f;
}
if ((edge == 1 || edge == 2 || edge == 3) && vari) {
if ((edge == 1 || edge == 2 || edge == 3 || edge == 5) && vari) {
// nvl = blurBuffer; // we need one buffer, but fortunately we don't have to allocate a new one because we can use blurBuffer
if ((edge == 1 || edge == 3)) {
for (int i = 0; i < W_L * H_L; ++i) {
@ -2721,7 +2721,7 @@ void ImProcFunctions::ShrinkAllL(const wavelet_decomposition &WaveletCoeffs_L, f
}
}
if (edge == 2 || edge == 4) {
if (edge == 2 || edge == 4 || edge == 5) {
for (int i = 0; i < W_L * H_L; ++i) {
nvl[i] = vari[level] * SQR(noisevarlum[i]);
}

View File

@ -958,7 +958,7 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const
}
if ((cp.lev0n > 0.1f || cp.lev1n > 0.1f || cp.lev2n > 0.1f || cp.lev3n > 0.1f) && cp.noiseena) {
int edge = 1;
int edge = 5;
vari[0] = rtengine::max(0.000001f, vari[0]);
vari[1] = rtengine::max(0.000001f, vari[1]);
vari[2] = rtengine::max(0.000001f, vari[2]);