ਪਿਲੋ ਲਾਇਬ੍ਰੇਰੀ ਪਾਈਥਨ ਵਿੱਚ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਟੂਲ ਹੈ ਜੋ ਚਿੱਤਰ ਹੇਰਾਫੇਰੀ ਅਤੇ ਪ੍ਰਕਿਰਿਆ ਲਈ ਸਹਾਇਕ ਹੈ। ਇਹ ਚਿੱਤਰਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਵੱਖ-ਵੱਖ ਕਾਰਜਸ਼ੀਲਤਾਵਾਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਆਬਜੈਕਟ ਬਾਰਡਰ ਖਿੱਚਣ ਦੀ ਯੋਗਤਾ ਵੀ ਸ਼ਾਮਲ ਹੈ। ਆਰਟੀਫੀਸ਼ੀਅਲ ਇੰਟੈਲੀਜੈਂਸ ਅਤੇ ਗੂਗਲ ਵਿਜ਼ਨ ਏਪੀਆਈ ਦੇ ਸੰਦਰਭ ਵਿੱਚ, ਪਿਲੋ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਆਕਾਰ ਅਤੇ ਵਸਤੂਆਂ ਦੀਆਂ ਸੀਮਾਵਾਂ ਨੂੰ ਦ੍ਰਿਸ਼ਟੀਗਤ ਰੂਪ ਵਿੱਚ ਉਜਾਗਰ ਕਰਕੇ ਉਹਨਾਂ ਦੀ ਸਮਝ ਨੂੰ ਵਧਾਉਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
ਪਿਲੋ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਬਜੈਕਟ ਬਾਰਡਰ ਬਣਾਉਣ ਲਈ, ਸਾਨੂੰ ਪਹਿਲਾਂ ਇੱਕ ਚਿੱਤਰ ਲੋਡ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਜਿਸ ਉੱਤੇ ਅਸੀਂ ਬਾਰਡਰ ਖਿੱਚਣਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਇਹ `Image.open()` ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜੋ ਇੱਕ ਆਰਗੂਮੈਂਟ ਦੇ ਰੂਪ ਵਿੱਚ ਚਿੱਤਰ ਫਾਈਲ ਦਾ ਮਾਰਗ ਲੈਂਦਾ ਹੈ। ਇੱਕ ਵਾਰ ਚਿੱਤਰ ਲੋਡ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਪਿੱਲੋ ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ `ImageDraw` ਕਲਾਸ ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਬਣਾ ਸਕਦੇ ਹਾਂ, ਜੋ ਚਿੱਤਰਾਂ 'ਤੇ ਖਿੱਚਣ ਦੇ ਤਰੀਕੇ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ।
ਆਬਜੈਕਟ ਬਾਰਡਰ ਬਣਾਉਣ ਲਈ, ਸਾਨੂੰ ਚਿੱਤਰ ਵਿੱਚ ਵਸਤੂਆਂ ਦੀ ਪਛਾਣ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਗੂਗਲ ਵਿਜ਼ਨ API ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜੋ ਉੱਨਤ ਚਿੱਤਰ ਵਿਸ਼ਲੇਸ਼ਣ ਸਮਰੱਥਾਵਾਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਗੂਗਲ ਵਿਜ਼ਨ API ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਅਸੀਂ ਚਿੱਤਰ ਵਿੱਚ ਮੌਜੂਦ ਵਸਤੂਆਂ ਦੇ ਬਾਊਂਡਿੰਗ ਬਾਕਸ ਕੋਆਰਡੀਨੇਟਸ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਹ ਬਾਊਂਡਿੰਗ ਬਾਕਸ ਕੋਆਰਡੀਨੇਟ ਹਰ ਇਕ ਵਸਤੂ ਨੂੰ ਘੇਰਦੇ ਹੋਏ ਆਇਤਾਕਾਰ ਖੇਤਰ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਨ।
ਇੱਕ ਵਾਰ ਸਾਡੇ ਕੋਲ ਬਾਊਂਡਿੰਗ ਬਾਕਸ ਕੋਆਰਡੀਨੇਟ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਬਾਰਡਰਾਂ ਨੂੰ ਖਿੱਚਣ ਲਈ `ImageDraw.rectangle()` ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਹ ਵਿਧੀ ਆਰਗੂਮੈਂਟ ਦੇ ਤੌਰ 'ਤੇ ਆਇਤ ਦੇ ਉੱਪਰ-ਖੱਬੇ ਅਤੇ ਹੇਠਲੇ-ਸੱਜੇ ਕੋਨਿਆਂ ਦੇ ਧੁਰੇ ਨੂੰ ਲੈਂਦੀ ਹੈ, ਵਿਕਲਪਿਕ ਪੈਰਾਮੀਟਰਾਂ ਜਿਵੇਂ ਕਿ ਰੂਪਰੇਖਾ ਰੰਗ ਅਤੇ ਚੌੜਾਈ ਦੇ ਨਾਲ। ਹਰੇਕ ਆਬਜੈਕਟ ਦੇ ਬਾਊਂਡਿੰਗ ਬਾਕਸ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ ਦੁਹਰਾਉਣ ਦੁਆਰਾ, ਅਸੀਂ ਚਿੱਤਰ ਉੱਤੇ ਸੰਬੰਧਿਤ ਬਾਰਡਰ ਬਣਾ ਸਕਦੇ ਹਾਂ।
ਇੱਥੇ ਇੱਕ ਉਦਾਹਰਨ ਕੋਡ ਸਨਿੱਪਟ ਹੈ ਜੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਆਬਜੈਕਟ ਬਾਰਡਰ ਬਣਾਉਣ ਲਈ ਪਿਲੋ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ:
python from PIL import Image, ImageDraw # Load the image image = Image.open('path/to/image.jpg') # Create an instance of ImageDraw draw = ImageDraw.Draw(image) # Bounding box coordinates of an object object_bbox = (x1, y1, x2, y2) # Draw the object border draw.rectangle(object_bbox, outline='red', width=2) # Save the modified image image.save('path/to/output.jpg')
ਉਪਰੋਕਤ ਉਦਾਹਰਨ ਵਿੱਚ, `object_bbox` ਵੇਰੀਏਬਲ ਇੱਕ ਵਸਤੂ ਦੇ ਬਾਊਂਡਿੰਗ ਬਾਕਸ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। `ਆਊਟਲਾਈਨ` ਪੈਰਾਮੀਟਰ ਬਾਰਡਰ ਦਾ ਰੰਗ (ਇਸ ਮਾਮਲੇ ਵਿੱਚ, ਲਾਲ) ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਅਤੇ `ਚੌੜਾਈ` ਪੈਰਾਮੀਟਰ ਬਾਰਡਰ ਦੀ ਮੋਟਾਈ ਸੈੱਟ ਕਰਦਾ ਹੈ।
ਗੂਗਲ ਵਿਜ਼ਨ API ਦੇ ਨਾਲ ਪਿਲੋ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਅਸੀਂ ਆਕਾਰ ਅਤੇ ਵਸਤੂਆਂ ਦੀਆਂ ਸੀਮਾਵਾਂ ਨੂੰ ਦ੍ਰਿਸ਼ਟੀਗਤ ਰੂਪ ਵਿੱਚ ਉਜਾਗਰ ਕਰਕੇ ਉਹਨਾਂ ਦੀ ਸਮਝ ਨੂੰ ਵਧਾ ਸਕਦੇ ਹਾਂ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਵੱਖ-ਵੱਖ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਲਾਭਦਾਇਕ ਹੋ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਆਬਜੈਕਟ ਖੋਜ, ਚਿੱਤਰ ਸੈਗਮੈਂਟੇਸ਼ਨ, ਅਤੇ ਵਿਜ਼ੂਅਲ ਵਿਸ਼ਲੇਸ਼ਣ।
ਪਿਲੋ ਲਾਇਬ੍ਰੇਰੀ ਪਾਈਥਨ ਵਿੱਚ ਆਬਜੈਕਟ ਬਾਰਡਰ ਖਿੱਚਣ ਦਾ ਇੱਕ ਸੁਵਿਧਾਜਨਕ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। ਆਬਜੈਕਟ ਦੇ ਬਾਊਂਡਿੰਗ ਬਾਕਸ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਗੂਗਲ ਵਿਜ਼ਨ API ਦਾ ਲਾਭ ਲੈ ਕੇ, ਅਸੀਂ ਚਿੱਤਰਾਂ 'ਤੇ ਬਾਰਡਰ ਬਣਾਉਣ ਲਈ ਪਿਲੋ ਲਾਇਬ੍ਰੇਰੀ ਦੀ `ImageDraw.rectangle()` ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਹ ਪਹੁੰਚ ਆਕਾਰਾਂ ਅਤੇ ਵਸਤੂਆਂ ਦੀ ਸਮਝ ਨੂੰ ਵਧਾਉਂਦੀ ਹੈ, ਉੱਨਤ ਚਿੱਤਰ ਵਿਸ਼ਲੇਸ਼ਣ ਅਤੇ ਵਿਜ਼ੂਅਲਾਈਜ਼ੇਸ਼ਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।
ਬਾਰੇ ਹੋਰ ਹਾਲੀਆ ਸਵਾਲ ਅਤੇ ਜਵਾਬ ਸਿਰਹਾਣਾ ਪਾਈਥਨ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਆਬਜੈਕਟ ਬਾਰਡਰ ਬਣਾਉਣਾ:
- "draw_vertices" ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਆਬਜੈਕਟ ਬਾਰਡਰ ਬਣਾਉਣ ਵੇਲੇ ਡਿਸਪਲੇ ਟੈਕਸਟ ਨੂੰ ਚਿੱਤਰ ਵਿੱਚ ਕਿਵੇਂ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ?
- ਪ੍ਰਦਾਨ ਕੀਤੇ ਕੋਡ ਵਿੱਚ "draw.line" ਵਿਧੀ ਦੇ ਮਾਪਦੰਡ ਕੀ ਹਨ, ਅਤੇ ਉਹਨਾਂ ਦੀ ਵਰਤੋਂ ਸਿਰਲੇਖ ਮੁੱਲਾਂ ਵਿਚਕਾਰ ਰੇਖਾਵਾਂ ਖਿੱਚਣ ਲਈ ਕਿਵੇਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ?
- ਪ੍ਰਦਾਨ ਕੀਤੇ ਕੋਡ ਵਿੱਚ "draw_vertices" ਫੰਕਸ਼ਨ ਦਾ ਉਦੇਸ਼ ਕੀ ਹੈ?
- ਗੂਗਲ ਵਿਜ਼ਨ API ਚਿੱਤਰ ਵਿੱਚ ਆਕਾਰਾਂ ਅਤੇ ਵਸਤੂਆਂ ਨੂੰ ਸਮਝਣ ਵਿੱਚ ਕਿਵੇਂ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ?