လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Impence Edge Detection နှင့်လေဖြတ်ခြင်းအောင်မြင်ရန် OpenCV ကိုပေါင်းစပ်ရန် PHP ကို ​​အသုံးပြု. PHP ကို ​​အသုံးပြု. အပြည့်အစုံသင်ခန်းစာ

Impence Edge Detection နှင့်လေဖြတ်ခြင်းအောင်မြင်ရန် OpenCV ကိုပေါင်းစပ်ရန် PHP ကို ​​အသုံးပြု. PHP ကို ​​အသုံးပြု. အပြည့်အစုံသင်ခန်းစာ

M66 2025-06-04

နိဒါန်း

Image processing နှင့် computer vision ၏နယ်ပယ်တွင်ပုံရိပ်အစွန်းရှာဖွေတွေ့ရှိမှုသည်အဓိကအားဖြင့်အဓိကအားဖြင့်ရုပ်ပုံများတွင်သီးသန့်ထုတ်ယူလေ့ရှိသည်။ ပုံရိပ်ကိုရှင်းလင်းစွာဖွဲ့စည်းပုံပြုလုပ်ရန်ဤအနားများကိုပုံရိပ်ကိုထပ်မံကြည့်ရှုသည်။ ဤဆောင်းပါးသည် impencv libency နှင့်ပေါင်းစပ်ထားသော PHP ဘာသာစကားဖြင့် PHP ဘာသာစကားဖြင့် PHP ဘာသာစကားဖြင့် PHP ဘာသာစကားဖြင့်တိကျသောအကောင်အထည်ဖော်မှုနည်းလမ်းများကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ သဘာဝပတ်ဝန်းကျင်ပြင်ဆင်မှု

ပုံရိပ်ထုတ်ယူခြင်းမပြုမီသင်၏ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်တွင် PHP နှင့် OpenCV extension support ရှိကြောင်းသေချာပါစေ။ ဤတွင်အခြေခံပြင်ဆင်မှုအဆင့်များမှာ -

1 ။ PHP နှင့် OpenCV စာကြည့်တိုက်ကိုထည့်သွင်းပါ

Linux စနစ်တွင် PHP ကိုအောက်ပါ command ကိုလိုက်နာခြင်းရှိမရှိကိုသင်အတည်ပြုနိုင်သည်။
 php -v

install မလုပ်ပါက ကျေးဇူးပြု. install လုပ်ရန်အောက်ပါ command ကိုသုံးပါ။

 sudo apt-get install php
sudo apt-get install php-opencv

2 ။ စမ်းသပ်ပုံကိုပြင်ဆင်ပါ

စမ်းသပ်ပုံရိပ်တစ်ခုရွေးပါ, test.jpg` ကိုဖော်ပြပြီးစာဖတ်ခြင်းနှင့်ပြုပြင်ခြင်းအတွက် PHP script ကို PHP script အနေဖြင့်တူညီသော directory တွင်ထည့်ပါ။

2 ။ ပုံရိပ်အစွန်းရှာဖွေတွေ့ရှိမှုကိုနားလည်သဘောပေါက်

Opencv မှထောက်ပံ့ပေးသော Canny Edge algorithm ကို အသုံးပြု. ပုံကိုအသုံးပြုသည်။ အောက်ဖော်ပြပါသည်အကောင်အထည်ဖော်မှုကုဒ်ဖြစ်သည်။
 <?php
// ပုံကိုတင်ခြင်း
$image = cvimread("test.jpg");

// Grayscale သို့လှည့်ပါ
$gray = cvcvtColor($image, CV_BGR2GRAY);

// အစွန်းရှာဖွေတွေ့ရှိမှု
$edges = cvCanny($gray, 50, 150);

// ရလဒ်များကိုပြပါ
cvimshow("Edges", $edges);
cvwaitKey();
?>

အထက်ပါလုပ်ငန်းစဉ်တွင်ကျွန်ုပ်တို့သည်ပုံကိုမီးခိုးရောင်ပုံစံသို့ပထမဆုံးပြောင်းလဲပြီး Edge Detection ကိုလုပ်ဆောင်ရန် CVCanny () function ကိုသုံးပါ။ နောက်ဆုံးအနေဖြင့်အပြောင်းအလဲများရလဒ်များကို CVIMSHOW () မှတဆင့်ပြသသည်။

3 ။ Image Stroke စစ်ဆင်ရေး

EDGE Detection ပြီးဆုံးသွားသောအခါပုံသဏ္ဌာန်ဖွဲ့စည်းပုံ၏အမြင်အာရုံ၏အမြင်အာရုံကိုမြှင့်တင်ရန်ပုံကိုထိုးဖောက်နိုင်သည်။
 <?php
// ပုံကိုတင်ခြင်း
$image = cvimread("test.jpg");

// Grayscale သို့လှည့်ပါ
$gray = cvcvtColor($image, CV_BGR2GRAY);

// အစွန်းရှာဖွေတွေ့ရှိမှု
$edges = cvCanny($gray, 50, 150);

// အရောင်ပုံရိပ်ကိုပြောင်းပါ
$color = cvcvtColor($edges, CV_GRAY2BGR);

// DELLINS ကိုရှာပါ
$contours = cvindContours($edges, cvCV_RETR_EXTERNAL, cvCV_CHAIN_APPROX_SIMPLE);

// အကြမ်းဖျင်းဆွဲပါ
cvdrawContours($color, $contours, -1, [0, 255, 0], 2);

// လေဖြတ်ခြင်းအကျိုးသက်ရောက်မှုကိုပြပါ
cvimshow("Edges with Contours", $color);
cvwaitKey();
?>

ဤအပိုင်းသည်ထုတ်ယူခြင်းထုတ်ယူခြင်းကိုအသုံးပြုသည်။ ပုံ၏အနားအနားစွန်းများကိုသိသိသာသာထိုးရန်လုပ်ဆောင်မှုများကိုအသုံးပြုသည်။ Image ဖွဲ့စည်းပုံကို EDGE မြေပုံကိုအရောင်ပုံစံသို့ပြောင်းခြင်းနှင့်စိမ်းလန်းသောလေဖြတ်ခြင်းကို အသုံးပြု. အစိမ်းရောင်လေဖြတ်ခြင်းကို အသုံးပြု. ပိုမိုမြင်နိုင်သည်။

4 ။ အကျဉ်းချုပ်

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

PHP ပတ်ဝန်းကျင်တွင်ပုံရိပ်အစွန်းပြ problems နာများကိုကိုင်တွယ်ဖြေရှင်းရန် OpenCV ကိုမည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်မျှော်လင့်ပါသည်။ စဉ်ဆက်မပြတ်သင်ယူခြင်းနှင့်စမ်းသပ်ခြင်းသည်သင်၏ပုံရိပ် algorithm အကောင်အထည်ဖော်မှုစွမ်းရည်ကိုပိုမိုတိုးတက်စေရန်ကူညီလိမ့်မည်။