Skip to content

๐Ÿš˜ ๋ฏธ๋””์–ดํ”„๋กœ์ ํŠธ - ์ฐจ์„  ๊ฒ€์ถœ

Notifications You must be signed in to change notification settings

ssang-light/line-detector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

line-detector

material = detect line + caculate tiltedness

๋‚ด๋ถ€๊ธฐ๋Šฅ = ์ฐจ์„ ๊ฒ€์ถœ + ์ขŒ์šฐ ํŽธํ–ฅ์น˜ ๊ณ„์‚ฐ

  1. <ROI (region of interest) ์„ค์ •>

์ดฌ์˜๋œ ์šด์ „ ์˜์ƒ์˜ ์œ—๋ถ€๋ถ„์€ ํ•„์š”๊ฐ€ ์—†๋‹ค(๊ด€์‹ฌ์˜์—ญ์ด ์ฐจ์„  ๋ถ€๋ถ„์ด๊ธฐ ๋•Œ๋ฌธ์— , ๋ณดํŽธ์ ์œผ๋กœ row ๊ธฐ์ค€ 1/2 ์ง€์ ๋ถ€ํ„ฐ row์˜ ๋๊นŒ์ง€๋งŒ ์‚ฌ์šฉํ•œ๋‹ค

๋ณดํŽธ์ ์œผ๋กœ ์˜์ƒ์—์„œ ์ขŒํ‘œ๊ณ„๋Š” ์ขŒ์ธก ์ƒ๋‹จ์ด 0,0์ด๊ณ  vertical ์ถ•์ด x ์ถ•์ด๊ณ  horizontal ์ถ•์ด y์ถ•์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.


  1. <canny edge ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ ์šฉ>

ROI ์—์„œ ์ฐจ์„ ์„ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” canny edge ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, canny edge๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปฌ๋Ÿฌ ์ƒํƒœ๋ฅผ GRAYSCALE ๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค

Cv2.GRAYSCALE์€ ํ•œ ํ”ฝ์…€๋‹น 256 ๋ ˆ๋ฒจ์˜ ๋ฐ๊ธฐ ์ฐจ์ด๋ฅผ ํ‘œํ˜„ ํ•  ์ˆ˜ ์žˆ๋Š” ํšŒ์ƒ‰์กฐ์˜ ์ด๋ฏธ์ง€ ์ฒด๊ณ„์ด๋‹ค.

2-1. Grayscale๋กœ ๋ฐ”๋€ ์ด๋ฏธ์ง€์— canny edge๋ฅผ ์ ์šฉํ•œ๋‹ค.

canny edge๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ gradient ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. edge๋ผ๋Š” ๊ฒƒ์€ ๊ฒฐ๊ตญ grayscale์—์„œ์˜ ๋ฐ๊ธฐ์˜ ๊ธ‰๊ฒฉํ•œ ๋ณ€ํ™”์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฌํ•œ ๋ณ€ํ™” ํญ์„ ๋ฏธ๋ถ„๊ฐ’์œผ๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ์šธ๊ธฐ๊ฐ’์ด ํฌ๋‹ค๋Š” ๊ฒƒ์€ ์ƒ‰์˜ ๋ณ€ํ™”๊ฐ€ ์ƒ๋‹นํžˆ ๊ฐ•ํ•˜๋‹ค๋Š” ๊ฒƒ์œผ๋กœ ํ•ด์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•ด๋‹นํ”ฝ์…€์€ ๊ณง edge๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ”ฝ์…€์ด๋ผ๋Š” ํŒ๋‹จ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.


  1. <Hough ๋ณ€ํ™˜ ์ ์šฉํ•˜๊ธฐ >

hough ๋ณ€ํ™˜์€ ์ฃผ๋กœ ๋ฌผ์ฒด ์ธ์‹์ด๋‚˜ ์„ ๋ถ„ ํƒ์ƒ‰์— ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๋ช…ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

3-1 ์นดํƒ€์‹œ์•ˆ ์ขŒํ‘œ๊ณ„๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋ณดํ†ต y=mx+c ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚˜๊ฒ ์ง€๋งŒ ๊ทน์ขŒํ‘œ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด r ๊ณผ ์„ธํƒ€(๊ฐ)์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. 3-2 ํ”ฝ์…€๋ณ„๋กœ ์„ธํƒ€ ๊ฐ’์„ 1๋„์”ฉ ๋Š˜๋ ค๊ฐ€๋ฉฐ 0 - 180๋„๋กœ r ๋งŒํผ์˜ ํŒŒ์›Œ๋กœ ์„ ๋ถ„์„ ๊ทธ๋ฆฐ๋‹ค.(๊ทน๋‹จ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๊ฐ ์ •์ ๋ณ„๋กœ "*" ๋ชจ์–‘์œผ๋กœ ๊ทธ๋ ค์งˆ ๊ฒƒ์ด๋‹ค. 3-3 ์ •์ ๋“ค์—์„œ ๊ทธ๋ ค์ง„ ๋ณ„ ๋ชจ์–‘์˜ ์„ ๋ถ„๋“ค์ด ์ƒํ˜ธ๊ฐ„ ๊ฒน์ณ์ง€๋Š” ์˜์—ญ์ด ๋‚˜์˜ฌ ๊ฒƒ์ด๊ณ  , ์ผ์ •๋น„์œจ(threshold) ์ด์ƒ์˜ ์„ ๋ถ„๋“ค์ด ๊ฒน์น  ๊ฒฝ์šฐ์—๋Š” ์ด๊ฒƒ์ด ์™„๋ฒฝํ•œ edge๋ผ๋Š” ๊ฒฐ๋ก ์„ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค. 3-4 ๊ฒ€์ถœ๋œ ์„ ๋ถ„๋“ค ์ค‘์—์„œ ์ผ์ • ๊ฐ๋„(์ฐจ์„ ์„ ์ด๋ฃจ๋Š” ๋ณดํŽธ์ ์ธ ๊ฐ๋„)๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ด์™ธ์˜ ์„ ๋ถ„๋“ค์€ ํ™”๋ฉด์—์„œ ์ œ์™ธ์‹œํ‚จ๋‹ค.(์ขŒ์ธก ์ฐจ์„  = 40 - 60๋„)(์šฐ์ธก์ฐจ์„  = 110 - 140๋„)


  1. <์„ ๋ถ„ ์ถ”์ถœ>

์™„์„ฑ๋œ ์„ ๋“ค ์ค‘์—์„œ ๊ทธ๋ฆผ์˜ ์ค‘์‹ฌ์œผ๋กœ๋ถ€ํ„ฐ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์„ ๋ถ„ ๋‘๊ฐœ("/\")๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฒƒ์ด๋ผ๋Š” ๊ธฐ์ค€์„ ์žก์€ ์ด์œ ๋Š” ์šดํ–‰์˜ ์•ˆ์ „์ƒ ๊ฐ€์žฅ ์•ˆ์ชฝ์˜ ์„ ์ด ์ฐจ์„ ์˜ ๊ฐ€์žฅ ๋‚ด๋ถ€ ์„ ๋ถ„์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์ˆ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ํ•ฉํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 4-2 "/\" ๋‘ ์„ ๋ถ„์˜ ๋งŒ๋‚˜๋Š” ์ ์„ ๊ธฐ์ค€์œผ๋กœ ์ด๋ฏธ์ง€์˜ ํ•˜๋‹จ๊ณผ ์ˆ˜์งํ•œ ์„ ๋ถ„์„ ํ•˜๋‚˜ ๊ธ‹๋Š”๋‹ค"/|\" ์ด ์ค‘์‹ฌ์ ์ด ์ผ์ • ๊ธฐ์ค€ ์ ์œผ๋กœ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ ์ขŒ์ธก, ์šฐ์ธก์œผ๋กœ ์น˜์šฐ์ณค๋Š”์ง€๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ขŒ์šฐ ํŽธํ–ฅ ์ •๋„๋ฅผ ๊ฒ€์‚ฌํ•œ๋‹ค 4-3 ์นด๋ฉ”๋ผ์˜ ์„ค์น˜ ๋ฐฉ๋ฒ•๊ณผ ์ดˆ๊ธฐ ๊ฐ๋„์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€์—์„œ ์ด๋ฃจ๋Š” ๊ฐ๋„๊ฐ€ ์‹ค์ œ ์ค‘์•™ ์šดํ–‰ ์ •๋„์™€ ๋‹ค๋ฅด๊ฒŒ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์–ด๋Š์ •๋„ ์กฐ์ •์ด ํ•„์š”ํ•˜๋‹ค.(prcatical ํ•˜๊ฒŒ ์กฐ์ •ํ•ด์•ผ ํ•จ)


  1. <์˜ˆ์™ธ์ฒ˜๋ฆฌ> ์„ ๋ถ„์ค‘์—์„œ ๊ณก์„ ์ฃผํ–‰์ด ์ด๋ฃจ์–ด์ง€๊ฑฐ๋‚˜ ์„ ๋ถ„์„ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ์„ ๋ถ„์„ detect๋ฅผ ์‹œ๋„ํ•˜์ง€ ์•Š๊ณ  ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์„ ๋ถ„(์ขŒ ํ˜น์€ ์šฐ)๋งŒ ์ฐพ์•„์„œ ๊ทธ๋ƒฅ ํ‘œ์‹œํ•ด์ค€๋‹ค.(์ขŒ์šฐ ํŽธํ–ฅ ๊ณ„์‚ฐ ์•ˆํ•จ)

About

๐Ÿš˜ ๋ฏธ๋””์–ดํ”„๋กœ์ ํŠธ - ์ฐจ์„  ๊ฒ€์ถœ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published