လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Image Color ကို Image Color နှင့်နှိုင်းယှဉ်ကြည့်ပါ။

Image Color ကို Image Color နှင့်နှိုင်းယှဉ်ကြည့်ပါ။

M66 2025-06-06

PHP တွင်ရုပ်ပုံများကိုထုတ်ယူသောအခါတစ်ခါတစ်ရံတွင်ပုံတွင်ကွဲပြားခြားနားသော pixels ၏အရောင်များသည်ဆင်တူသည်ကိုကျွန်ုပ်တို့ဆုံးဖြတ်ရန်လိုအပ်သည်။ ISESECOTORRESOLVEVE () နှင့် imagecolorat ၏လုပ်ဆောင်ချက်နှစ်ခုကို အသုံးပြု. ပုံတွင် pixel တစ်ခု၏အရောင်အချက်အလက်များကို အသုံးပြု. ၎င်းအရောင်များအလားတူရှိမရှိထပ်မံနှိုင်းယှဉ်နိုင်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့ပေါင်းစပ်ရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။

ပြင်ဆင်မှု

ပထမ ဦး စွာသင့်တွင်ပုံရိပ်ဖိုင်ရှိပြီးသားသေချာအောင်လုပ်ပါ။ ထိုဖိုင်အတွက်လမ်းကြောင်းသည်မှန်ကန်သည်။ PHP သည်ဓာတ်ပုံဖိုင်များကိုလုပ်ဆောင်ရန် GD စာကြည့်တိုက်ကိုထောက်ပံ့ပေးသည်။ ရုပ်ပုံများကို 0 င်ရန် imagecreat trofletefrophamjpeg () , ပုံများကိုတင်ရန်အခြားလုပ်ဆောင်မှုများကိုသင်အသုံးပြုနိုင်သည်။

ဥပမာအားဖြင့်ကျွန်ုပ်တို့တွင် Image.jpg ဟုခေါ်သောပုံရိပ်ဖိုင်ရှိသည်ဆိုပါစို့ဆိုပါစို့။ ပုံကိုအောက်ပါကုဒ်များဖြင့်တင်နိုင်သည်။

 <?php
// ပုံကိုတင်ခြင်း
$imagePath = "image.jpg";
$image = imagecreatefromjpeg($imagePath);
?>

Imagecolorat () ပုံရိပ်၏အရောင်ရရှိသွားတဲ့

အဆိုပါ imagecolorat () function ကိုသတ်မှတ်ထားသောအနေအထားတွင် pixel ၏အရောင်ကိုရနိုင်သည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 int imagecolorat ( resource $image , int $x , int $y )

ဒီ function ကိုအရောင်အညွှန်းကိန်းတန်ဖိုးကိုပြန်ပို့သည်။ အရောင်အညွှန်းကိန်းတန်ဖိုးသည်အနီရောင်, အစိမ်းရောင်နှင့်အပြာ (RGB) ကဲ့သို့သောအရောင်အချက်အလက်များပါ 0 င်သည့်ကိန်းတစ်ခုဖြစ်သည်။ နောက်ဆက်တွဲနှိုင်းယှဉ်မှုများလွယ်ကူချောမွေ့စေရန်၎င်းကို isionecolorresolve () function မှတဆင့် RGB တန်ဖိုးများသို့ပြောင်းလဲနိုင်သည်။

Imagecolorresolve () အရောင်ပြောင်းသည်

အရောင်အညွှန်းကိန်းကို RGB အရောင်တန်ဖိုးကိုပြောင်းလဲရန် isagecolorresolive () function ကိုအသုံးပြုသည်။ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 bool imagecolorresolve ( resource $image , int $color_index , int &$red , int &$green , int &$blue )

၎င်းသည်အရောင်ညွှန်းကိန်းကိုလက်ခံပြီးထို pixel ၏ RGB တန်ဖိုးကိုပြန်လည်ပေးအပ်သည်။ အရောင်များအလားတူဟုတ်မဟုတ်ဆုံးဖြတ်ရန်ဤ RGB တန်ဖိုးများကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။

အရောင်များအလားတူရှိမရှိဆုံးဖြတ်ပါ

အရောင်နှစ်မျိုးနှင့်ဆင်တူသည်ကိုဆုံးဖြတ်ရန်ကျွန်ုပ်တို့သည်သူတို့အကြားခြားနားချက်ကိုတွက်ချက်ရန်လိုအပ်သည်။ ၎င်းတို့၏ RGB တန်ဖိုးများအကြားခြားနားချက်ကိုတွက်ချက်ခြင်းဖြင့်၎င်းကိုအောင်မြင်နိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်အနီရောင်, အစိမ်းရောင်နှင့်အပြာရောင်လိုင်းများအကြားကွဲပြားခြားနားမှု၏ကွဲပြားခြားနားမှုများကိုတွက်ချက်နိုင်သည်။

ကုဒ်အကောင်အထည်ဖော်ပါ

အောက်ဖော်ပြပါအချက်သည် ပုံစာရိုက်တာ () မှတစ်ဆင့် pixel အရောင်များကိုမည်သို့ရရှိနိုင်ကြောင်းနှင့် isonecolorresolve () ကို အသုံးပြု. RGB တန်ဖိုးများသို့ပြောင်းလဲခြင်းကိုပြသသည့်အပြည့်အဝပုံသဏ် cids ာန်ကိုပြသသည်။

 <?php
// ပုံကိုတင်ခြင်း
$imagePath = "image.jpg";
$image = imagecreatefromjpeg($imagePath);

// pixel ၏အရောင်ကိုရယူပါ
function getColor($image, $x, $y) {
    $colorIndex = imagecolorat($image, $x, $y);
    imagecolorresolve($image, $colorIndex, $red, $green, $blue);
    return ['red' => $red, 'green' => $green, 'blue' => $blue];
}

// အရောင်နှစ်မျိုးအလားတူရှိမရှိဆုံးဖြတ်ပါ
function isColorSimilar($color1, $color2, $threshold = 50) {
    $redDiff = abs($color1['red'] - $color2['red']);
    $greenDiff = abs($color1['green'] - $color2['green']);
    $blueDiff = abs($color1['blue'] - $color2['blue']);
    
    // အနီရောင်, အစိမ်းရောင်နှင့်အပြာသုံးမျိုးအကြားခြားနားချက်သည်တံခါးခုံများထက်နည်းသည်,၎င်းကိုအရောင်နှင့်ဆင်တူသည်
    return ($redDiff < $threshold && $greenDiff < $threshold && $blueDiff < $threshold);
}

// နှစ်ခု pixels ၏အရောင်ကိုရယူပါ
$color1 = getColor($image, 10, 10); // ညီညာစေ (10, 10)
$color2 = getColor($image, 11, 10); // ညီညာစေ (11, 10)

// အရောင်များအလားတူရှိမရှိဆုံးဖြတ်ပါ
if (isColorSimilar($color1, $color2)) {
    echo "ဒီ pixel နှစ်ခုရဲ့အရောင်တွေကဆင်တူတယ်。\n";
} else {
    echo "ဒီ pixel နှစ်ခုရဲ့အရောင်တွေမတူဘူး。\n";
}

// ပုံရိပ်အရင်းအမြစ်များကိုလွှတ်ပါ
imagedestroy($image);
?>

ကုဒ်ရှင်းပြချက်

  1. ပုံရိပ်ကို loading image : image file ကို load လုပ်ရန် imagecreathrintjpeg () ကိုသုံးပါ။

  2. အရောင်ရယူပါ - သတ်မှတ်ထားသောသွဒီနိတ်များကို isaecolorat () မှတဆင့်သတ်မှတ်ထားသောသွဒီနိတ်များတွင်အရောင်ညွှန်းကိန်းကိုရယူပါ။

  3. အရောင်တူညီမှုကိုဆုံးဖြတ်ရန် - အရောင်နှစ်မျိုးအကြား RGB ကွာခြားချက်ကိုတွက်ချက်ခြင်းဖြင့်၎င်းတို့သည်ဆင်တူသည်ကိုဆုံးဖြတ်ပါ။

  4. ရလဒ်ရလဒ် - တရားစီရင်ခြင်းရလဒ်အရသက်ဆိုင်ရာအချက်ပေးအချက်အလက်သည်ရလဒ်ဖြစ်သည်။

မှတ်သားရန်အရာ

  • ဤကုဒ်နံပါတ် (default 50) တွင်တံခါးခုံတန်ဖိုး (ပုံသေ 50) သည်အရောင်များနှင့်ဆင်တူသည်ကိုဆုံးဖြတ်ရန်အသုံးပြုသောစံသတ်မှတ်ချက်ဖြစ်သည်။ သင်၏လိုအပ်ချက်အရဤတန်ဖိုးကိုသင်ညှိနိုင်သည်။ တံခါးခုံကိုသေးငယ်တဲ့အရောင်လိုအပ်ချက်များပိုမိုနီးကပ်စွာ။

  • အသုံးပြုသောပုံလမ်းကြောင်းသည်မှန်ကန်ပြီးပုံရိပ်ပုံစံကို (JPEG, PNG, စသည်တို့) ကိုထောက်ပံ့သည်။

အကျဉ်းချုပ်

Imagecolorat () နှင့် isagecolorresolve ပေါင်းစပ်ခြင်း () ကိုပေါင်းစပ်ခြင်းဖြင့်ရုပ်ပုံများရှိ pixel များ၏အရောင်အချက်အလက်များကိုအလွယ်တကူရယူပြီး၎င်းတို့သည်ဆင်တူသည်ကိုဆုံးဖြတ်နိုင်သည်။ ၎င်းသည်ပုံရိပ်ပြုပြင်ခြင်း, အရောင်ခွဲခြမ်းစိတ်ဖြာစသဖြင့်ဖြစ်ရပ်များတွင်အလွန်အသုံးဝင်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခု၏အသုံးပြုမှုနည်းလမ်းများကိုသင်ကျွမ်းကျင်စွာပြုလုပ်နိုင်သဖြင့်အရောင်ဒေတာများကိုပုံရိပ်ရှိအရောင်အချက်အလက်များကိုပြောင်းလွယ်ပြင်လွယ်နိုင်သည်။