လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> မျက်နှာအသိအမှတ်ပြုမှုနှင့်အတူပေါင်းစပ်ပုံသဏ္ဌာန် image orientation

မျက်နှာအသိအမှတ်ပြုမှုနှင့်အတူပေါင်းစပ်ပုံသဏ္ဌာန် image orientation

M66 2025-06-03

မျက်နှာအသိအမှတ်ပြုခြင်းလုပ်ငန်းများအတွက်ရုပ်ပုံ၏ ဦး တည်ချက်သည်အသိအမှတ်ပြုမှု၏တိကျမှန်ကန်မှုကိုသက်ရောက်စေသောအရေးကြီးသောအချက်တစ်ချက်ဖြစ်သည်။ များသောအားဖြင့်ရုပ်ပုံများသည်မတူကွဲပြားသောရိုက်ကူးထားသောထောင့်များသို့မဟုတ် device onientations များကြောင့်ပုံများလှည့်နိုင်သည်။ ဤဆောင်းပါးသည် PHP code မှတစ်ဆင့်ဤလုပ်ငန်းစဉ်ကိုမဆန့်မှီရုပ်ပုံ Proprocessing နှင့်ပေါင်းစပ်ခြင်းနှင့်ပေါင်းစပ်ခြင်းနှင့်ပေါင်းစပ်ခြင်းနှင့်ပေါင်းစပ်ခြင်းအားမည်သို့ဆုံးဖြတ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

image ကို preprocessing များအတွက်အခြေခံအဆင့်များ

Preprocessing သည်ဓာတ်ပုံခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ကွန်ပျူတာရူပါရုံတွင်အရေးပါသောအခန်းကဏ် plays မှပါ 0 င်သည်။ ၎င်းတွင်ငြင်းပယ်ခြင်း, ချုံ့ခြင်း, သီးနှံစိုက်ပျိုးခြင်းနှင့်တိမ်းညွတ်ခြင်းစသည့်အဆင့်များပါ 0 င်သည်။ မျက်နှာအသိအမှတ်ပြုမှုကိုဖျော်ဖြေတင်ဆက်သည့်အခါပုံသည် preprocessing မှတစ်ဆင့်ပုံရိပ်ကိုမှန်ကန်သောလမ်းကြောင်းမှန်ပေါ်တွင်ရှိရန်ပထမ ဦး ဆုံးလိုအပ်သည်။ ဤအဆင့်များသည်များသောအားဖြင့်ပါဝင်သည် -

  1. ပုံ၏ image ၏အလှည့်အလှည့်ထောင့်ကို detect : ပုံ၏ exif ဒေတာများကိုခွဲခြမ်းစိတ်ဖြာခြင်းသို့မဟုတ်ပုံ၏အကြောင်းအရာများအပေါ် အခြေခံ. ပုံ၏ညွှန်ကြားချက်ကိုဆုံးဖြတ်ပါ။

  2. ပုံကိုလှည့်ပါ

  3. CROP နှင့် zoom : ပုံရိပ်ကိုစနစ်တကျအရွယ်အစားအရွယ်ရောက်အောင်သေချာအောင်လုပ်ပါ။

Exif ဒေတာကိုအသုံးပြုပြီးပုံ၏ orientation ကို detect

ဒစ်ဂျစ်တယ်ကင်မရာများနှင့်စမတ်ဖုန်းအများစုသည်ဓာတ်ပုံရိုက်သည့်အခါပုံရိပ်၏လည်ပတ်သတင်းအချက်အလက်များကိုဓာတ်ပုံရိုက်သည့်အခါအလှည့်အပြောင်းအချက်အလက်များကိုသိမ်းဆည်းထားသည်။ Exif ဒေတာကိုခွဲခြမ်းစိတ်ဖြာခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပုံ၏ညွှန်ကြားချက်အချက်အလက်ကိုရယူပြီးပုံရိပ်ကိုလှည့်ရန်လိုအပ် / မလိုအပ်ပါ။

PHP ကိုအသုံးပြုပြီးရုပ်ပုံလွှာရေးဆွဲခြင်း

PHP တွင် exif_read_data function ကိုထည့်သွင်းထားသည်။ ဤလုပ်ဆောင်ချက်နှင့်အတူပုံ၏ညွှန်ကြားချက်ကိုအလွယ်တကူရရှိနိုင်နှင့်ဤအချက်အလက်အပေါ်အခြေခံပြီးပုံရိပ်ကိုလှည့်နိုင်ပါတယ်။ PHP အကောင်အထည်ဖော်မှုဥပမာတစ်ခုမှာဤတွင်ဖြစ်သည်။

 <?php
// image ဖိုင်များကိုတင်ခြင်း
$imagePath = 'path/to/your/image.jpg'; 

// ပုံကိုရယူပါEXIFအချက်များ
$exifData = exif_read_data($imagePath);

// စစ်ဆေးကြည့်ရှုEXIFအချက်များ中是否包含方向信息
if (isset($exifData['Orientation'])) {
    // ပုံကိုရယူပါ方向
    $orientation = $exifData['Orientation'];
    
    // ညွှန်ကြားချက်သတင်းအချက်အလက်အရရုပ်ပုံကိုလှည့်ပါ
    switch ($orientation) {
        case 3:
            // 180ဒီဂရီအလှည့်
            $rotate = 180;
            break;
        case 6:
            // 90လက်ယာရစ်လှည့်
            $rotate = -90;
            break;
        case 8:
            // 90နာရီပေါင်းများစွာလှည့်ပါ
            $rotate = 90;
            break;
        default:
            // အဘယ်သူမျှမလည်ပတ်လိုအပ်သည်
            $rotate = 0;
            break;
    }

    // သင်ပုံကိုလှည့်ရန်လိုလျှင်
    if ($rotate !== 0) {
        $image = imagecreatefromjpeg($imagePath);
        $image = imagerotate($image, $rotate, 0);
        
        // လှည့်ပုံရိပ်ကိုသိမ်းဆည်းပါ
        imagejpeg($image, 'path/to/your/rotated_image.jpg');
        imagedestroy($image);
    }
} else {
    echo 'image noEXIFအချက်များ,ညွှန်ကြားချက်ကိုအကဲဖြတ်။ မရပါ。';
}

?>

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

  1. image file : JPEG format image image file ကို imagecreathritjpeg function မှတဆင့်တင်ပါ။

  2. Exif ဒေတာကိုဖတ်ပါExif_read_Data function သည်ပုံ၏လည်ပတ်သတင်းအချက်အလက်အပါအ 0 င်ပုံရိပ်၏အချက်အလက်များကိုရရှိသည်။

  3. ပုံ၏လမ်းကြောင်းကိုဆုံးဖြတ်ရန် - orientation field ကို exif အချက်အလက်များကိုစစ်ဆေးခြင်းအားဖြင့်ပုံ၏လည်ပတ်ထောင့်ကိုဆုံးဖြတ်ပါ။ ဘုံ ဦး တည်ချက်တန်ဖိုးများမှာ -

    • 1: ပုံမှန်, အဘယ်သူမျှမလည်ပတ်လိုအပ်ပါသည်

    • 3: 180 ဒီဂရီလှည့်

    • 6: 90 ဒီဂရီလက်ယာရစ်

    • 8: 90 ဒီဂရီ Counterclockwise

  4. ပုံကိုလှည့်ပါ ။ ပုံကိုမှန်ကန်သော ဦး တည်ချက်သို့လှည့်ရန် Imagerotate function ကိုသုံးပါ။

  5. Rotated Image ကိုသိမ်းပါ - လှည့်ထားသောပုံကိုဖိုင်အသစ်တစ်ခုအဖြစ်သိမ်းဆည်းပါ။

ပုံ၏ညွှန်ကြားချက်ကို detect လုပ်ဖို့အကြောင်းအရာအသိအမှတ်ပြုမှုကိုသုံးပါ

Exif ဒေတာအပြင်အခြားနည်းလမ်းမှာအကြောင်းအရာအသိအမှတ်ပြုမှုမှတစ်ဆင့်ပုံ၏ orientation ကိုအလိုအလျောက်စစ်ဆေးရန်ဖြစ်သည်။ ဥပမာအားဖြင့်, မျက်နှာရှာဖွေတွေ့ရှိမှု algorithm ကိုပုံတစ်ပုံတွင်ဖော်ပြရန်နှင့်မျက်နှာအနေအထားအပေါ်အခြေခံပြီးပုံရိပ်၏လည်ပတ်ထောင့်ကိုဆုံးဖြတ်ရန်အသုံးပြုသည်။ ဤနည်းအားဖြင့်ပုံတွင် exif အချက်အလက်မရှိပါကပင် algorithm ကိုမှန်ကန်သော ဦး တည်ချက်ကိုအများအားဖြင့်အသုံးပြုရန်အတွက်အသုံးပြုနိုင်သည်။

PHP ကိုယ်တိုင်ကအားကြီးသောကွန်ပြူတာအမြင်အာရုံစွမ်းရည်မရှိပေမဲ့အကြောင်းအရာများကိုအသိအမှတ်ပြုရန် Opencv သို့မဟုတ် Tesseract OCR ကဲ့သို့သောတတိယပါတီစာကြည့်တိုက်အချို့ကိုသုံးနိုင်သည်။

opencv နှင့်ပေါင်းစပ်ရန် PHP ကိုသုံးပါ

PHP ကို ​​opencv နှင့်ပေါင်းစပ်အသုံးပြုသောအခါမျက်နှာရှာဖွေတွေ့ရှိမှုပြုလုပ်ရန် Opencv ၏ CV :: CASCADATECLASIFIER ကို သင်အသုံးပြုနိုင်ပြီးပုံ၏ညွှန်ကြားချက်ကိုတိုးပွားစေနိုင်သည်။ တိကျသောအကောင်အထည်ဖော်မှုအတွက် PHP Binding နှင့်ဆက်စပ်သော OPECV ၏စာရွက်စာတမ်းများကိုဖတ်ရှုပါ။

အကျဉ်းချုပ်

ပုံရိပ်ကိုအသိအမှတ်ပြုမှု၏တိကျမှန်ကန်မှုကိုသေချာစေရန် Preprocessing သည်အလွန်အရေးကြီးသည်။ ပုံသဏ္ဌာန်ပြင်ဆင်ခြင်းသည်အရေးကြီးသော link တစ်ခုဖြစ်သည်။ Exif ဒေတာများကိုခွဲခြမ်းစိတ်ဖြာခြင်းသို့မဟုတ်ပါဝင်မှုအသိအမှတ်ပြုနည်းပညာကို အသုံးပြု. PHP အစီအစဉ်သည်ပုံ၏လမ်းကြောင်းကိုအလိုအလျောက်ဆုံးဖြတ်ရန်နှင့်နောက်ဆက်တွဲမျက်နှာအသိအမှတ်ပြုမှုများကိုချောချောမွေ့မွေ့ပြုလုပ်နိုင်ရန်သေချာစေရန်အလှည့်အပြောင်းဆုံးမပဲ့ပြင်မှုကိုပြုလုပ်နိုင်သည်။