Ji bo ku dema xêzkirina sînorên tiştan bi karanîna fonksiyona "draw_vertices" di pirtûkxaneya Pillow Python de nivîsa pêşandanê li wêneyê zêde bikin, em dikarin pêvajoyek gav-gav bişopînin. Ev pêvajo di nav xwe de hilanîna lûtkeyên tiştên hatine vedîtin ji API-ya Google Vision, xêzkirina tixûbên tiştan bi karanîna vertîkan vedihewîne, û di dawiyê de nivîsa xuyangê li wêneyê zêde dike.
1. Berikên tiştên ku hatine tespîtkirin bistînin:
- API-ya Google Vision bikar bînin da ku tiştên di wêneyekê de bibînin.
- Bersivên her tiştê hatî tespît kirin ji bersiva API derxînin. Bersiv çar kujên qutiya sînorî ya ku li dora heyberê digire temsîl dikin.
2. Sînorên nesneyê bi bikaranîna risteyan xêz bikin:
- Wêneyê bi karanîna pirtûkxaneya Pillow di Python de bar bikin.
- Ji pirtûkxaneya Pillow mînakek modula ImageDraw biafirînin.
- Li ser xalên her tiştî dubare bikin û bi karanîna fonksiyona "draw.rectangle" ya ji modula ImageDraw re çargoşeyekê xêz bikin.
- Fonksîyona "draw.rectangle" koordînatên quncikên jor-çepê û jêr-rastê yên çargoşeyê wekî arguman digire.
3. Nivîsara pêşandanê li wêneyê zêde bikin:
- Mînakek din a modula ImageDraw biafirînin.
- Li ser xalên her tiştî dubare bikin û bi karanîna fonksiyona "draw.text" ya ji modula ImageDraw re nivîsa xuyangê lê zêde bikin.
- Fonksiyona "draw.text" koordînatên cihê nivîsê û rêzika nivîsê wekî arguman digire.
- Hûn dikarin tîp, mezinahî, reng û taybetmendiyên din ên nivîsê bi destnîşankirina pîvanên zêde di fonksiyona "draw.text" de xweş bikin.
Li vir parçeyek kodek mînakek heye ku pêvajoya ku li jor hatî diyar kirin destnîşan dike:
python from PIL import Image, ImageDraw, ImageFont # Step 1: Retrieve the vertices of the detected objects # (Assuming you have already obtained the vertices from the Google Vision API) vertices = [ [(100, 100), (200, 100), (200, 200), (100, 200)], # Example vertices of object 1 [(300, 150), (400, 150), (400, 250), (300, 250)] # Example vertices of object 2 ] # Step 2: Draw object borders using the vertices image = Image.open("input_image.jpg") draw = ImageDraw.Draw(image) for vertex in vertices: draw.rectangle(vertex, outline="red") # Step 3: Add display text to the image font = ImageFont.truetype("arial.ttf", 12) text_draw = ImageDraw.Draw(image) for i, vertex in enumerate(vertices): text_position = vertex[0][0], vertex[0][1] - 20 text_draw.text(text_position, f"Object {i+1}", font=font, fill="red") # Save the modified image image.save("output_image.jpg")
Di vê nimûneyê de, em texmîn dikin ku berikên tiştan berê ji Google Vision API-yê hatine wergirtin. Dûv re em wêneyê bi karanîna pirtûkxaneya Pillow bar dikin, tixûbên tiştan bi karanîna lûtkeyan xêz dikin, û nivîsa pêşandanê li jor her tiştê zêde dikin.
Bînin bîra xwe ku hûn kodê li gorî hewcedariyên xwe yên taybetî, wek tîp, mezinahiya tîpan, û rengê nivîsê biguhezînin.
Pirs û bersivên din ên vê dawiyê di derbarê Xêzkirina tixûbên tiştik bi karanîna pirtûkxaneya python a balgî:
- Parametreyên rêbaza "draw.line" di koda peydakirî de çi ne, û ew çawa têne bikar anîn da ku xêzên di navbera nirxên vertîkan de xêz bikin?
- Çawa dikare pirtûkxaneya balîfê were bikar anîn da ku sînorên tiştan li Python xêz bike?
- Armanca fonksiyona "draw_vertices" di koda peydakirî de çi ye?
- Çawa dikare Google Vision API di têgihîştina şikil û tiştên di wêneyekê de bibe alîkar?