capture sharpening: allow negative corner boost
This commit is contained in:
parent
74b26d953b
commit
79b3ff8e6e
@ -581,14 +581,17 @@ BENCHFUN
|
||||
gauss5x5mult(tmpThr, tmpIThr, fullTileSize, fullTileSize, kernel5);
|
||||
}
|
||||
} else {
|
||||
if (sigmaCornerOffset > 0.0) {
|
||||
float lkernel7[7][7];
|
||||
if (sigmaCornerOffset != 0.0) {
|
||||
const float distance = sqrt(rtengine::SQR(i + tileSize / 2 - H / 2) + rtengine::SQR(j + tileSize / 2 - W / 2));
|
||||
compute7x7kernel(sigma + distanceFactor * distance, lkernel7);
|
||||
for (int k = 0; k < iterations - 1; ++k) {
|
||||
// apply 7x7 gaussian blur and divide luminance by result of gaussian blur
|
||||
gauss7x7div(tmpIThr, tmpThr, lumThr, fullTileSize, fullTileSize, lkernel7);
|
||||
gauss7x7mult(tmpThr, tmpIThr, fullTileSize, fullTileSize, lkernel7);
|
||||
const float sigmaTile = sigma + distanceFactor * distance;
|
||||
if (sigmaTile >= 0.4f) {
|
||||
float lkernel7[7][7];
|
||||
compute7x7kernel(sigma + distanceFactor * distance, lkernel7);
|
||||
for (int k = 0; k < iterations - 1; ++k) {
|
||||
// apply 7x7 gaussian blur and divide luminance by result of gaussian blur
|
||||
gauss7x7div(tmpIThr, tmpThr, lumThr, fullTileSize, fullTileSize, lkernel7);
|
||||
gauss7x7mult(tmpThr, tmpIThr, fullTileSize, fullTileSize, lkernel7);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (int k = 0; k < iterations; ++k) {
|
||||
|
@ -55,7 +55,7 @@ PdSharpening::PdSharpening() : FoldableToolPanel(this, "capturesharpening", M("T
|
||||
dradius = Gtk::manage(new Adjuster(M("TP_SHARPENING_RADIUS"), 0.4, 1.15, 0.01, 0.75));
|
||||
dradius->addAutoButton();
|
||||
dradius->setAutoValue(true);
|
||||
dradiusOffset = Gtk::manage(new Adjuster(M("TP_SHARPENING_RADIUS_BOOST"), 0.0, 0.5, 0.01, 0.0));
|
||||
dradiusOffset = Gtk::manage(new Adjuster(M("TP_SHARPENING_RADIUS_BOOST"), -0.5, 0.5, 0.01, 0.0));
|
||||
diter = Gtk::manage(new Adjuster(M("TP_SHARPENING_RLD_ITERATIONS"), 1, 100, 1, 20));
|
||||
rld->pack_start(*gamma);
|
||||
rld->pack_start(*dradius);
|
||||
|
Loading…
x
Reference in New Issue
Block a user