๐Ÿ˜Haarcascade

์บ์Šค์ผ€์ด๋“œ ๋ถ„๋ฅ˜๊ธฐ

๊ฐœ๋ฐœ์ž๊ฐ€ ์ง‘์ ‘ ๋จธ์‹ ๋Ÿฌ๋‹ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐ์ฒด๋ฅผ ๊ฒ€์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก OpenCV๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์ƒ์œ„ ๋ ˆ๋ฒจ API.

ํ•˜๋ฅด ์ผ€์Šค์ผ€์ด๋“œ ์–ผ๊ตด ๊ฒ€์ถœ

OpenCV๋Š” ์ผ€์Šค์ผ€์ด๋“œ ๋ถ„๋ฅ˜๊ธฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ›ˆ๋ จ๋œ ๊ฒ€์ถœ๊ธฐ๋ฅผ xml ํŒŒ์ผ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

API

  • classifier = cv2.CascadeClassifier([filename]): ์ผ€์Šค์ผ€์ด๋“œ ๋ถ„๋ฅ˜๊ธฐ ์ƒ์„ฑ์ž

filename: ๊ฒ€์ถœ๊ธฐ ์ €์žฅ ํŒŒ์ผ ๊ฒฝ๋กœ
classifier : ์บ์Šค์ผ€์ด๋“œ ๋ถ„๋ฅ˜๊ธฐ ๊ฐ์ฒด

  • rect = classifier.detectMultiScale(img, scaleFactor, minNeighbors , flags, minSize, maxSize)

img: ์ž…๋ ฅ ์ด๋ฏธ์ง€
scaleFactor : ์ด๋ฏธ์ง€ ํ™•๋Œ€ ํฌ๊ธฐ์— ์ œํ•œ. 1.3~1.5 (ํฐ๊ฐ’: ์ธ์‹ ๊ธฐํšŒ ์ฆ๊ฐ€, ์†๋„ ๊ฐ์†Œ)
minNeighbors : ์š”๊ตฌ๋˜๋Š” ์ด์›ƒ ์ˆ˜(ํฐ ๊ฐ’: ํ’ˆ์งˆ ์ฆ๊ฐ€, ๊ฒ€์ถœ ๊ฐœ์ˆ˜ ๊ฐ์†Œ)
flags : ์ง€๊ธˆ ์‚ฌ์šฉ์•ˆํ•จ
minSize, maxSize : ํ•ด๋‹น ์‚ฌ์ด์ฆˆ ์˜์—ญ์„ ๋„˜์œผ๋ฉด ๊ฒ€์ถœ ๋ฌด์‹œ
rect: ๊ฒ€์ถœ๋œ ์˜์—ญ ์ขŒํ‘œ (x, y, w, h)

์‹ค์Šต

์ฐธ๊ณ ์ž๋ฃŒ