ပုံရိပ်ထုတ်ယူခြင်း၏နယ်ပယ်တွင်တောက်ပမှုညှိနှိုင်းမှုသည်အသုံးအများဆုံးလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ရိုးရာနည်းလမ်းများသည်များသောအားဖြင့်တောက်ပမှုညှိနှိုင်းမှုကိုရရှိရန် linear သို့မဟုတ် gamma ပြင်ဆင်ချက်ကိုအသုံးပြုသည်။ ဤဆောင်းပါးသည်ရုပ်ပုံ၏တောက်ပမှုကိုပိုမိုနူးညံ့ချောမွေ့စေရန်နှင့်နူးညံ့သိမ်မွေ့မှုကိုညှိရန် nonlineness addressment model ကိုတည်ဆောက်ရန် Hyperbolic Cosine function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
hyperbolic cosine function ကိုအဖြစ်သတ်မှတ်သည်။
၎င်း၏ပုံသဏ် and ာန်သည် parabola တစ်ခုနှင့်ဆင်တူပြီးသုညအချက်တစ်ချက်လုံးကိုဖြည်းဖြည်းချင်းပြောင်းလဲခြင်းနှင့်သုညအမှတ်မှအဆက်မပြတ်ကြီးထွားလာသည်။ ဤအင်္ဂါရပ်ကို အသုံးပြု. အလယ်အလတ်တောက်ပသောအပိုင်းကိုချောချောမွေ့မွေ့ပြောင်းလဲစေရန်အရောင်တောက်ပမှုညှိနှိုင်းမှု function ကိုဒီဇိုင်းဆွဲနိုင်သည်။
မူရင်း pixel တောက်ပမှုကဆိုပါစို့ [0,1] ကြားကာလမှပုံမှန်။ ရည်မှန်းချက်မှာတောက်ပသောအသွင်ပြောင်း function ကိုတည်ဆောက်ရန်ဖြစ်သည် :
အတွက်
ကွေး၏မတ်စောက်သောကြည်လင်၏မတ်စောက်သောတန်ဖိုးကိုထိန်းချုပ်သည်။
ချိန်ညှိရည်ညွှန်း brother ကိုထိန်းချုပ်ထားသည်။
ဒီမော်ဒယ်အာမခံချက်:
ဘယ်တော့လဲ ဘယ်အချိန်မှာ ။
အရောင်တောက်ပမှုသည်ရည်ညွှန်းအချက်များအနီးတွင်ချောချောမွေ့မွေ့ပြောင်းလဲသွားသည်။
ညှိနှိုင်းမှုပြီးဆုံးသွားသောအခါရလဒ်ကို (0,11] သို့ပြန်ပို့ပါ။ ထို့နောက် pixel တန်ဖိုးကိုပြန်ပို့ပါ။
အောက်ဖော်ပြပါသည် PHP တွင် function ကို Grayscale ပုံရိပ်တောက်ပမှု၏အသွင်ပြောင်းမှုဖြစ်စဉ်ကိုတုပရန်လုပ်ဆောင်သည်။ ဥပမာတွင် imagecreatjpeg နှင့် isionjpeg လုပ်ဆောင်ချက်များကိုဓာတ်ပုံရိုက်ရန်အသုံးပြုသည်။
<?php
function adjustBrightnessCosh($inputFile, $outputFile, $a = 5, $b = 0.5) {
// ပုံကိုဖတ်ပါ
$img = imagecreatefromjpeg('https://gitbox.net/images/sample.jpg');
if (!$img) {
die('ပုံရိပ်ကို တင်. မရပါ');
}
$width = imagesx($img);
$height = imagesy($img);
// Pre- တွက်ချက်ပုံမှန်အခြေခံစံနှုန်းများcoshအဘိုး
$denominator = cosh($a * $b);
for ($y = 0; $y < $height; $y++) {
for ($x = 0; $x < $width; $x++) {
$rgb = imagecolorat($img, $x, $y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$bVal = $rgb & 0xFF;
// တောက်ပတွက်ချက်(灰度အဘိုး)
$I = ($r + $g + $bVal) / (3 * 255);
// တောက်ပညှိနှိုင်းမှုဖော်မြူလာ
$L = cosh($a * ($I - $b)) / $denominator;
// ပြန်မြေပုံ[0,1]
// အဘယ်သူမျှမလျှံမရှိကြောင်းသေချာစေရန်,သေတမ်းစာLကိုစစ်ကြော
$L = min(max($L, 0), 2); // နယ်ပယ်ထဲကတားဆီး
$L = $L / 2;
// သစ်သောRGBအဘိုး
$newVal = intval($L * 255);
$newVal = min(max($newVal, 0), 255);
// အရောင်များကိုပြန်လည်ရယူခြင်း,မီးခိုးရောင်ထားပါ
$newColor = imagecolorallocate($img, $newVal, $newVal, $newVal);
imagesetpixel($img, $x, $y, $newColor);
}
}
// ရလဒ်များကိုသိမ်းဆည်းပါ
imagejpeg($img, $outputFile);
imagedestroy($img);
}
// ကူညီသူလုပ်ဆောင်ချက်များကိုcoshပြီးမေြာက်စေ
function cosh($x) {
return (exp($x) + exp(-$x)) / 2;
}
// Call ဥပမာ
adjustBrightnessCosh('input.jpg', 'output.jpg', 5, 0.5);
?>
Code ရှိပုံရိပ်လမ်းကြောင်းသည်အစားထိုးစမ်းသပ်မှုများကိုလွယ်ကူချောမွေ့စေရန် https:/gitbox.nete.mages.jpg ကို အသုံးပြုသည်။
parameters တွေကိုညှိခြင်းအားဖြင့်, B နှင့် B ကို ညှိခြင်းအားဖြင့်တောက်ပမှုညှိနှိုင်းမှု၏အကျိုးသက်ရောက်မှုကိုထိန်းချုပ်နိုင်ပါတယ်။
ဤနည်းလမ်းသည်အသေးစိတ်နှင့်မှောင်မိုက်သောဒေသများသို့အသေးစိတ်မဟုတ်သော nonlinear မလိုအပ်သည့်အခြေအနေများအတွက်အထူးသဖြင့်သင့်လျော်သည်။
ဟုတ်ပါတယ်, အမှန်တကယ် applications များအနေဖြင့်၎င်းကိုအရောင်ပြောင်းသွားခြင်းကိုချန်နယ်ကိုချန်နယ်မှ Channel-channel-channel ကိုညှိနှိုင်းခြင်းများအထိတိုးချဲ့နိုင်သည်။