ಪೈಥಾನ್ನಲ್ಲಿನ ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ಗಳ ಮುಖ್ಯ ಸಮಸ್ಯೆಯೆಂದರೆ ಅವು ಹೆಚ್ಚು ನಿಖರವಾಗಿಲ್ಲ.
def bounding_box(x, y, width, height): return (x - width/2, y - height/2, x + width/2, y + height/2)
ಇದು ಕಾರ್ಯದ ವ್ಯಾಖ್ಯಾನವಾಗಿದೆ. ಕಾರ್ಯವು ನಾಲ್ಕು ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ - x, y, ಅಗಲ ಮತ್ತು ಎತ್ತರ - ಮತ್ತು ನಾಲ್ಕು ಮೌಲ್ಯಗಳ ಟ್ಯೂಪಲ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ - ಮೇಲಿನ ಎಡ ಮೂಲೆಯ ನಿರ್ದೇಶಾಂಕಗಳು ಮತ್ತು ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ನ ಕೆಳಗಿನ ಬಲ ಮೂಲೆ.
ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್
ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ ಎನ್ನುವುದು ಎರಡು ಆಯಾಮದ ವಸ್ತುವಾಗಿದ್ದು ಅದು ಎಲ್ಲಾ ಬಿಂದುಗಳನ್ನು ಅದರ ಗಡಿಯೊಳಗೆ ಸುತ್ತುವರಿಯುತ್ತದೆ. ಪೈಥಾನ್ನಲ್ಲಿ, bbox ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ ಅನ್ನು ರಚಿಸಬಹುದು.
ಓಪನ್ಸಿವಿ
OpenCV ಕಂಪ್ಯೂಟರ್ ದೃಷ್ಟಿ ಮತ್ತು ಇಮೇಜ್ ಪ್ರಕ್ರಿಯೆಗಾಗಿ ಒಂದು ಗ್ರಂಥಾಲಯವಾಗಿದೆ. ಚಿತ್ರಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು, ವಸ್ತುಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು, ಚಲಿಸುವ ವಸ್ತುಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಮತ್ತು ಮುಖ ಗುರುತಿಸುವಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಇದನ್ನು ಬಳಸಬಹುದು. OpenCV GNU ಜನರಲ್ ಪಬ್ಲಿಕ್ ಲೈಸೆನ್ಸ್ ಅಡಿಯಲ್ಲಿ ಬಿಡುಗಡೆಯಾದ ಉಚಿತ ಮತ್ತು ಮುಕ್ತ ಮೂಲ ಸಾಫ್ಟ್ವೇರ್ ಆಗಿದೆ.
ಹೊರತೆಗೆಯುವ ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್
ಪೈಥಾನ್ನಲ್ಲಿ, ನಿರ್ದಿಷ್ಟ ವಸ್ತುವಿನ ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ ಅನ್ನು ಪಡೆಯಲು ನೀವು ಅಂತರ್ನಿರ್ಮಿತ ಫಂಕ್ಷನ್ ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ ಅನ್ನು ಬಳಸಬಹುದು. ಈ ಕಾರ್ಯವು ಎರಡು ವಾದಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ: ಬೌಂಡ್ ಮಾಡಬೇಕಾದ ವಸ್ತು ಮತ್ತು ಗಾತ್ರದ ನಿಯತಾಂಕ. ಕಾರ್ಯವು (x, y, ಅಗಲ, ಎತ್ತರ) ಹೊಂದಿರುವ ಟುಪಲ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.
ನಿರ್ದಿಷ್ಟ ವಸ್ತುವಿನ ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ ಅನ್ನು ಪಡೆಯಲು ಬೌಂಡಿಂಗ್ ಬಾಕ್ಸ್ ಕಾರ್ಯವನ್ನು ಬಳಸುವ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ:
>>> obj = ಆಬ್ಜೆಕ್ಟ್() >>> obj.size = (10, 10, 100, 100) >>> bbox = obj.bounding_box() >>> print(bbox) (10, 10, 100, 100)