Pillow စာကြည့်တိုက်ကို အသုံးပြု၍ ပုံတစ်ပုံရှိ အရာဝတ္ထုများကို အမြင်အာရုံခွဲခြားပြီး မီးမောင်းထိုးပြရန်၊ ကျွန်ုပ်တို့သည် အဆင့်ဆင့်လုပ်ဆောင်မှုကို လိုက်နာနိုင်ပါသည်။ Pillow စာကြည့်တိုက်သည် ကျယ်ပြန့်သော ရုပ်ပုံလုပ်ဆောင်နိုင်စွမ်းများကို ပံ့ပိုးပေးသည့် အစွမ်းထက်သော Python imaging စာကြည့်တိုက်တစ်ခုဖြစ်သည်။ Pillow စာကြည့်တိုက်၏ စွမ်းရည်များကို Google Vision API ၏ object detection function နှင့် ပေါင်းစပ်ခြင်းဖြင့်၊ ကျွန်ုပ်တို့သည် ဤလုပ်ငန်းကို ထိရောက်စွာ အောင်မြင်နိုင်ပါသည်။
Pillow စာကြည့်တိုက်ကို အသုံးပြု၍ ရုပ်ပုံတစ်ပုံရှိ အရာဝတ္ထုများကို အမြင်အာရုံခွဲခြားပြီး မီးမောင်းထိုးပြရန် အဆင့်များဖြစ်သည်-
1. လိုအပ်သော စာကြည့်တိုက်များကို ထည့်သွင်းပါ- လိုအပ်သော စာကြည့်တိုက်များကို ထည့်သွင်းခြင်းဖြင့် စတင်ပါ။ `pip install pillow` အမိန့်ကို အသုံးပြု၍ ခေါင်းအုံးကို တပ်ဆင်ပါ။ ထို့အပြင်၊ သင်သည် Google Vision API ကို စနစ်ထည့်သွင်းပြီး Python အတွက် Google Cloud client စာကြည့်တိုက်ကို ထည့်သွင်းရန် လိုအပ်ပါသည်။
2. Google Vision API ဖြင့် စစ်မှန်ကြောင်းအထောက်အထားပြပါ- Google Vision API ကိုအသုံးပြုရန်၊ သင့်လျှောက်လွှာကို စစ်မှန်ကြောင်းသက်သေပြရန် လိုအပ်ပါသည်။ လိုအပ်သောအထောက်အထားများရယူရန် Google မှပေးသောစာရွက်စာတမ်းများကိုလိုက်နာပါ။
3. ပုံကိုတင်ပြီး ခွဲခြမ်းစိတ်ဖြာပါ- သင်ခွဲခြမ်းစိတ်ဖြာလိုသောပုံကို တင်ရန် Pillow စာကြည့်တိုက်ကို အသုံးပြုပါ။ ပုံဖိုင်ကိုဖွင့်ရန် `Image.open()` နည်းလမ်းကို အသုံးပြုနိုင်သည်။ ပုံအား တင်ပြီးသည်နှင့် JPEG သို့မဟုတ် PNG ကဲ့သို့သော Google Vision API နှင့် တွဲဖက်အသုံးပြုနိုင်သော ဖော်မတ်သို့ ပြောင်းပါ။
4. ပုံအား Google Vision API သို့ ပို့ပါ- အရာဝတ္တုကို သိရှိနိုင်စေရန်အတွက် Python အတွက် Google Cloud ဖောက်သည် စာကြည့်တိုက်ကို အသုံးပြုပါ။ ပုံဒေတာဖြင့် တောင်းဆိုသည့်အရာဝတ္ထုကို ဖန်တီးပြီး `image_annotator_client.object_localization(.annotate_image()` ကဲ့သို့သော သင့်လျော်သောနည်းလမ်းကို ခေါ်ဆိုခြင်းဖြင့် ၎င်းကို လုပ်ဆောင်နိုင်သည်။
5. အရာဝတ္ထုရှာဖွေခြင်းရလဒ်များကိုရယူပါ- Google Vision API မှရရှိသောတုံ့ပြန်မှုမှ အရာဝတ္ထုရှာဖွေတွေ့ရှိမှုရလဒ်များကို ထုတ်ယူပါ။ တုံ့ပြန်မှုတွင် ၎င်းတို့၏ ဘောင်ခတ်ထားသော သေတ္တာများ၊ အညွှန်းများနှင့် ယုံကြည်မှုရမှတ်များကဲ့သို့သော ရှာဖွေတွေ့ရှိထားသော အရာဝတ္ထုများအကြောင်း အချက်အလက်များ ပါဝင်မည်ဖြစ်သည်။
6. ပုံပေါ်ရှိ ဘောင်ကွက်များကို ဆွဲပါ- ပုံပေါ်ရှိ အရာဝတ္တုများတဝိုက်တွင် ဘောင်ခတ်ထားသော သေတ္တာများကို ဆွဲရန် Pillow library ကို အသုံးပြုပါ။ ပုံဆွဲအရာဝတ္ထုတစ်ခုကို ဖန်တီးရန် `ImageDraw.Draw()` နည်းလမ်းကို အသုံးပြုနိုင်ပြီး၊ ထို့နောက် ဘောင်ဘောင်များကို ဆွဲရန်အတွက် `draw.rectangle()` နည်းလမ်းကို အသုံးပြုနိုင်သည်။
7. ပုံတွင် အညွှန်းများနှင့် ရမှတ်များ ထည့်ပါ- အမြင်အာရုံကို မြှင့်တင်ရန်၊ ပုံတွင် အညွှန်းများနှင့် ယုံကြည်မှုရမှတ်များ ထည့်နိုင်သည်။ ပုံပေါ်ရှိ အညွှန်းများနှင့် ရမှတ်များကို ထပ်ဆင့်ရန် 'draw.text()` နည်းလမ်းကို Pillow စာကြည့်တိုက်မှ အသုံးပြုပါ။
8. မှတ်ပုံတင်ထားသောပုံကို သိမ်းဆည်းပြီး ပြသပါ- `Image.save()` နည်းလမ်းကို အသုံးပြု၍ Pillow စာကြည့်တိုက်မှ မှတ်သားထားသော ပုံအား သိမ်းဆည်းပါ။ JPEG သို့မဟုတ် PNG ကဲ့သို့သော လိုချင်သောပုံစံကို သင်ရွေးချယ်နိုင်သည်။ ရွေးချယ်နိုင်သည်၊ `Image.show()` နည်းလမ်းကို အသုံးပြု၍ အမှတ်အသားပြုထားသောပုံကို ပြသပါ။
ဤအဆင့်များကို လိုက်နာခြင်းဖြင့်၊ Pillow စာကြည့်တိုက်ကို အသုံးပြု၍ ရုပ်ပုံတစ်ခုရှိ ရှာဖွေတွေ့ရှိထားသော အရာဝတ္ထုများကို မြင်သာထင်ရှားစွာ ခွဲခြားသိမြင်နိုင်မည်ဖြစ်သည်။ Pillow ၏ အစွမ်းထက်သော ရုပ်ပုံလုပ်ဆောင်နိုင်မှုစွမ်းရည်များနှင့် Google Vision API ၏ အရာဝတ္တုကို ထောက်လှမ်းနိုင်သည့် လုပ်ဆောင်နိုင်စွမ်းတို့ ပေါင်းစပ်ခြင်းဖြင့် ရုပ်ပုံများကို ထိရောက်ပြီး တိကျစွာ ခွဲခြမ်းစိတ်ဖြာနိုင်စေပါသည်။
ဥပမာ:
python from PIL import Image, ImageDraw from google.cloud import vision # Load and analyze the image image_path = 'path/to/your/image.jpg' image = Image.open(image_path) image_data = image.tobytes() # Authenticate with the Google Vision API client = vision.ImageAnnotatorClient.from_service_account_json('path/to/your/credentials.json') # Send the image to the Google Vision API for object detection response = client.object_localization(image=vision.Image(content=image_data)) objects = response.localized_object_annotations # Draw bounding boxes on the image draw = ImageDraw.Draw(image) for obj in objects: bbox = obj.bounding_poly.normalized_vertices draw.rectangle([(bbox[0].x * image.width, bbox[0].y * image.height), (bbox[2].x * image.width, bbox[2].y * image.height)], outline='red', width=3) # Add labels and scores to the image label = obj.name score = obj.score draw.text((bbox[0].x * image.width, bbox[0].y * image.height - 15), f'{label} ({score:.2f})', fill='red') # Save and display the annotated image annotated_image_path = 'path/to/save/annotated_image.jpg' image.save(annotated_image_path) image.show()
ဤဥပမာတွင်၊ ကျွန်ုပ်တို့သည် Pillow စာကြည့်တိုက်ကို အသုံးပြု၍ ပုံကို အရင်တင်ပြီး ခွဲခြမ်းစိတ်ဖြာပါ။ ထို့နောက်၊ ကျွန်ုပ်တို့သည် Google Vision API ဖြင့် စစ်မှန်ကြောင်းသက်သေပြပြီး အရာဝတ္တုကို သိရှိနိုင်စေရန် ပုံကို ပေးပို့ပါ။ ကျွန်ုပ်တို့သည် အရာဝတ္ထုရှာဖွေတွေ့ရှိမှုရလဒ်များကိုရယူပြီး ပုံပေါ်ရှိတွေ့ရှိထားသောအရာဝတ္ထုများတစ်ဝိုက်တွင် ဘောင်ခတ်ထားသောသေတ္တာများကိုဆွဲရန် Pillow library ကိုအသုံးပြုပါသည်။ ထို့အပြင်၊ ကျွန်ုပ်တို့သည် ပုံတွင် အညွှန်းများနှင့် ယုံကြည်မှုရမှတ်များကို ထည့်ပါသည်။ နောက်ဆုံးတွင်၊ ကျွန်ုပ်တို့သည် အမှတ်အသားပြုထားသောပုံကို သိမ်းဆည်းပြီး ပြသသည်။
အခြား လတ်တလောမေးခွန်းများနှင့် အဖြေများ အဆင့်မြင့်ရုပ်ပုံများကိုနားလည်သည်:
- Google Vision API တွင် အရာဝတ္ထုအသိအမှတ်ပြုခြင်းအတွက် ကြိုတင်သတ်မှတ်ထားသော အမျိုးအစားအချို့ကား အဘယ်နည်း။
- လုံခြုံသောရှာဖွေမှု ထောက်လှမ်းခြင်းအင်္ဂါရပ်ကို အသုံးပြုရန် အကြံပြုထားသည့် နည်းလမ်းမှာ အခြားသော ထိန်းညှိမှုနည်းပညာများနှင့်အတူ အဘယ်နည်း။
- လုံခြုံသောရှာဖွေမှုမှတ်စုတွင် အမျိုးအစားတစ်ခုစီအတွက် ဖြစ်နိုင်ခြေတန်ဖိုးများကို ကျွန်ုပ်တို့ မည်သို့ဝင်ရောက်ပြီး ပြသနိုင်မည်နည်း။
- Python ရှိ Google Vision API ကို အသုံးပြု၍ လုံခြုံသော ရှာဖွေမှုမှတ်စုကို ကျွန်ုပ်တို့ မည်သို့ရရှိနိုင်မည်နည်း။
- ဘေးကင်းသော ရှာဖွေမှု ထောက်လှမ်းခြင်း အင်္ဂါရပ်တွင် ပါဝင်သော အမျိုးအစားငါးခုမှာ အဘယ်နည်း။
- Google Vision API ၏ ဘေးကင်းသော ရှာဖွေမှုအင်္ဂါရပ်သည် ရုပ်ပုံများအတွင်း ညစ်ညမ်းသော အကြောင်းအရာများကို မည်သို့သိရှိနိုင်သနည်း။
- ပန်ဒါဒေတာဘောင်ကို အသုံးပြု၍ ထုတ်ယူထားသော အရာဝတ္တုအချက်အလက်ကို ဇယားဖော်မတ်ဖြင့် မည်သို့စီစဉ်နိုင်မည်နည်း။
- API ၏တုံ့ပြန်မှုမှ အရာဝတ္တုမှတ်ချက်များကို ကျွန်ုပ်တို့ မည်သို့ထုတ်ယူနိုင်မည်နည်း။
- Google Vision API ၏ လုပ်ဆောင်နိုင်စွမ်းကို သရုပ်ပြရန်အတွက် မည်သည့်စာကြည့်တိုက်များနှင့် ပရိုဂရမ်းမင်းဘာသာစကားကို အသုံးပြုသနည်း။
- Google Vision API သည် ရုပ်ပုံများတွင် အရာဝတ္တုများကို ထောက်လှမ်းခြင်းနှင့် ဒေသသတ်မှတ်ခြင်းကို မည်သို့လုပ်ဆောင်သနည်း။
အဆင့်မြင့်ပုံများ နားလည်မှုတွင် နောက်ထပ်မေးခွန်းများနှင့် အဖြေများကို ကြည့်ပါ။