Ինչպես հեռացնել պատկերի ֆոնը Base64-ով
Փոխանցեք պատկերի Base64 տվյալները, թողեք ավտոմատ եղանակը կամ ընտրեք համապատասխան տարբերակ, ապա ստացեք Base64-ով կոդավորված PNG՝ RGBA տվյալներով։ Հանդուրժողականությունը կարող եք կարգավորել 0-ից 255 միջակայքում։
Նպատակը և կիրառման պայմանները
Այս գործիքը նախատեսված է Base64-ով կոդավորված պատկերից ֆոնը հեռացնելու համար, երբ մուտքը պատրաստվում է տվյալների տեսքով, ոչ թե սովորական ֆայլի ընտրությամբ։ Մշակման արդյունքում ստացվում է Base64-ով կոդավորված PNG, որի պատկերի տվյալները RGBA ձևաչափով են։ Այդ կառուցվածքը թույլ է տալիս արդյունքը փոխանցել այնպիսի հաջորդ փուլ, որը կարող է կարդալ PNG-ն ու օգտագործել դրա ալֆա-ալիքը։
Պատկերը կարող եք ներկայացնել մաքուր Base64 տվյալներով կամ data URI նախածանցով ամբողջական արժեքով։ Նախածանցը մշակման ընթացքում հեռացվում է, ուստի այն առանձին ձեռքով կտրելու անհրաժեշտություն չկա։ Հարմար է նախապես որոշել, թե ինչ տեսքով եք ստանալու արդյունքը և որ եղանակն է ավելի համապատասխան տվյալ պատկերին։
Լռելյայն գործիքը ընտրում է ավտոմատ եղանակը, իսկ հանդուրժողականության սկզբնական արժեքը 32 է։ Ավտոմատ ընտրության ժամանակ նախ փորձ է արվում մոդելային եղանակով, իսկ դրա անհասանելիության կամ ձախողման դեպքում կիրառվում է PIL-ի վրա հիմնված պահուստային եղանակը։ Այս հաջորդականությունը նշանակում է, որ նույն մուտքի մշակման ընթացքը կարող է կախված լինել հասանելի եղանակից և դրա արդյունքից։
Պահուստային եղանակը հատկապես պետք է դիտարկել որպես գույնի և եզրերի վրա հիմնված մոտեցում, ոչ թե առարկայի ձևը բոլոր իրավիճակներում ճանաչող լուծում։ Այդ սահմանը կարևոր է, երբ առարկան և ֆոնը մոտ գույներ ունեն, անկյուններում ֆոնը միատեսակ չէ, կամ եզրերի հատվածում կան բարդ մանրամասներ։
Մշակման հերթականությունը
-
Պատրաստեք այն պատկերի ամբողջական Base64 ներկայացումը, որի ֆոնը ցանկանում եք հեռացնել։ Համոզվեք, որ արժեքը դատարկ չէ, կոդավորումը չի վնասվել, և տվյալները վերաբերում են ընթեռնելի պատկերի։ Data URI նախածանցով արժեքը կարող եք փոխանցել նույն ձևով, քանի որ այն ճանաչվում է և նախածանցը հեռացվում է մշակման ընթացքում։
-
Փոխանցեք պատկերի տվյալները գործիքին և սկզբում թողեք եղանակի ավտոմատ ընտրությունը։ Այս տարբերակը նախ փորձում է մոդելային մշակումը, իսկ անհրաժեշտության դեպքում անցնում է PIL-ի վրա հիմնված պահուստային եղանակին։ Եթե պատկերն ունի պարզ, եզրերից տարածվող ֆոն, պահուստային ընթացքի գունային կանոնը կարող է ավելի նկատելիորեն ազդել վերջնական արդյունքի վրա։
-
Անհրաժեշտության դեպքում սահմանեք հանդուրժողականության արժեքը։ Տրամադրված արժեքը նախ վերածվում է ամբողջ թվի, իսկ հաջող փոխակերպումից հետո սահմանափակվում է 0-ից 255 միջակայքում։ Ավելի բարձր կամ ավելի ցածր փոխանցված թվային արժեքը այդ սահմաններից դուրս չի պահպանվում, քանի որ այն բերվում է թույլատրելի միջակայքի։
-
Հաշվի առեք նաև սխալ ձևաչափով կարգավորման պահվածքը։ Եթե հանդուրժողականության փոխակերպման ժամանակ առաջանում է ValueError կամ TypeError, դրա փոխարեն կիրառվում է 32 արժեքը։ Այդ պատճառով կարգավորումը փոխանցելուց առաջ օգտակար է այն ներկայացնել ամբողջ թվի վերածվող ձևով, որպեսզի գործիքը չանցնի պահուստային սկզբնական արժեքին անսպասելիորեն։
-
Եթե ցանկանում եք բացահայտ օգտագործել մոդելային եղանակը, ընտրեք
rembgանունը միայն այն դեպքում, երբ պատրաստ եք ստուգել դրա հասանելիությունը։ Երբrembg-ը հասանելի չէ կամ ձախողվում է, գործիքը վերադարձնում է անհաջող արդյունք և ինքնուրույն չի անցնում PIL-ի վրա հիմնված պահուստային եղանակին։aiայլանունի դեպքում նման իրավիճակում հնարավոր է շարունակել պահուստային եղանակով, ուստի այդ ընտրությունը նույն վարքագիծը չի խոստանում, ինչ բացահայտrembgընտրությունը։ -
Վերջում ուսումնասիրեք վերադարձված արդյունքի հաջողության վիճակը։ Հաջող մշակման դեպքում վերցրեք վերադարձված Base64 արժեքը և մեկնաբանեք այն որպես PNG պատկեր՝ RGBA տվյալներով։ Սխալի արդյունքի դեպքում մի փորձեք այն ներկայացնել որպես պատրաստի պատկեր, այլ նախ ստուգեք մուտքի ամբողջականությունն ու ընթեռնելիությունը։
Պատասխանի ընթերցումը և սահմանները
Հաջող մշակման պատասխանը պատկերի տեսողական նախադիտում չէ, այլ Base64-ով կոդավորված PNG տվյալների արժեք։ Այդ արժեքը պետք է մեկնաբանել որպես PNG, որպեսզի ստանաք տեսանելի արդյունք կամ փոխանցեք այն հաջորդ պատկերային գործընթացին։ RGBA կառուցվածքը ներառում է ալֆա-ալիք, որի միջոցով ֆոնի թափանցիկությունը կարող է ներկայացվել արդյունքի մեջ։
Հանդուրժողականությունը պահուստային ընթացքի համար գունային համեմատության կարևոր պարամետր է։ Այդ եղանակը նախ պատկերը փոխակերպում է RGBA-ի, ապա եզրերից ընդարձակվող հատվածներում թափանցիկ է դարձնում այն պիքսելները, որոնց գույները RGB հեռավորությամբ համապատասխանում են հղման գույներին։ Հղումը վերցվում է անկյունների գույներից, ուստի պատկերի անկյունների ընտրությունը կարող է ազդել այն բանի վրա, թե որ հատվածն է դիտարկվում որպես ֆոն։
Փոքր հանդուրժողականությունը կարող է ավելի քիչ գունային տարբերություններ ընդունել որպես նույն ֆոն, մինչդեռ ավելի մեծ արժեքը կարող է ներառել ավելի լայն նմանություններ։ Սա գործիքի գունային կանոնի հետևանքն է, ոչ թե առարկայի եզրագիծը հասկանալու երաշխիք։ Եթե առարկայի գույնը մոտ է անկյունային ֆոնին, կամ ֆոնը փոխվում է եզրերի երկայնքով, ստացված թափանցիկ հատվածը կարող է չհամապատասխանել ակնկալվող սահմանին։
Մուտքի խնդիրները նույնպես պետք է տարբերակել վերջնական մշակման անհաջողությունից։ Բացակայող, դատարկ, չապակոդավորվող կամ չբացվող պատկերային տվյալների դեպքում վերադարձվում է սխալի արդյունք՝ մշակված պատկերի փոխարեն։ Բացակայող մուտքը հատուկ է մշակվում, հետևաբար դրա վարքագիծը նույնը չէ, ինչ առկա, բայց անվավեր պատկերի դեպքում։
Գործնական օրինակ
Դուք ունեք սպիտակ ֆոնի վրա նկարահանված ապրանքի Base64 պատկեր և ցանկանում եք ստանալ այնպիսի PNG, որի RGBA տվյալներում ֆոնի թափանցիկությունը կարող է ներկայացվել ալֆա-ալիքով։
Փոխանցեք սպիտակ ֆոնի վրա ապրանքի փոքր պատկերի Base64 տվյալները ավտոմատ եղանակով, պահեք հանդուրժողականությունը 32 և ստուգեք հաջողության արդյունքը։
Հաջող մշակման դեպքում վերադարձվում է Base64-ով կոդավորված PNG՝ RGBA տվյալներով։
Սահմանափակումներ
- PIL-ի վրա հիմնված պահուստային եղանակը եզրերից տարածվող գունային հատվածների մոտեցում է, որը հղման համար օգտագործում է անկյունների գույները և RGB հեռավորությունը, ուստի այն ընդհանուր սեգմենավորման համակարգ չէ։
Հաճախակի սխալներ
- Եթե ստացվում է սխալի արդյունք, ստուգեք, որ Base64 արժեքը ամբողջական է, դատարկ չէ և համապատասխանում է ընթեռնելի պատկերի. այնուհետև փոխանցեք ուղղված տվյալները նորից։
Հաճախ տրվող հարցեր
Կարո՞ղ եմ օգտագործել data URI նախածանցով պատկեր։
Այդ ձևաչափը կարող եք փոխանցել որպես մուտք, քանի որ ընդունման ժամանակ data URI նախածանցը հեռացվում է, իսկ մնացած Base64 տվյալները օգտագործվում են պատկերը մշակելու համար։
Որո՞նք են սկզբնական կարգավորումները։
Սկզբում գործում են ավտոմատ եղանակը և 32 հանդուրժողականությունը։ Ավտոմատ ընթացքը նախ փորձում է մոդելային տարբերակը, իսկ դրա անհասանելիության կամ ձախողման դեպքում օգտագործում է PIL-ի վրա հիմնված պահուստային տարբերակը։
Ի՞նչ է տեղի ունենում բացահայտ rembg ընտրության դեպքում։
Եթե rembg-ը բացահայտ եք ընտրել և այն հասանելի չէ կամ ձախողվում է, կստանաք անհաջող արդյունք առանց պահուստային եղանակի լուռ ընտրության։ ai այլանունը այդ պայմաններում կարող է շարունակել PIL-ի վրա հիմնված պահուստային եղանակով։