728x90
๋ฐ˜์‘ํ˜•
728x90

โ˜๏ธ good feature ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? 

- ์กฐ๋ช…์˜ ์ƒํ™ฉ์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ feature๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค.

- ์œ„์น˜์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ feature๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค.

- ํฌ๊ธฐ์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ feature๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค. 

- ํšŒ์ „ ์ƒํ™ฉ์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ feature๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค. 

- Perspective transform์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ feature๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค. 

 

- ๊ณ„์‚ฐ๋Ÿ‰์ด ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ์•ˆ๋œ๋‹ค.

- ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๊ฐ€ ํšจ์œจ์ ์ด์–ด์•ผ ํ•œ๋‹ค.

 

 

 

 

โ˜๏ธ ORB

oFast detector + r-BRIEF descriptor ์ด ๋‘ ๊ฐ€์ง€๊ฐ€ ํ˜‘์ณ ์žˆ๋Š” ํ˜•ํƒœ์ด๋‹ค.

FAST : radius๊ฐ€ 3์ธ ๊ฒฝ์šฐ, 9๊ฒŒ์˜ ์—ฐ์†๋˜๋Š” ํ”ฝ์…€ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํ•œ๋‹ค.

BRIEF : ํ•œ ํ”ฝ์…€์ด feature๋กœ ํŒ๋ช…์ด ๋‚ฌ์„ ๋•Œ ์ด ํ”ฝ์…€์„ ๋ฌ˜์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

 

 

โ˜๏ธ Image matching

๋‘ ๊ฐœ์˜ ์˜์ƒ์ด ์œ ์‚ฌํ•œ์ง€ ์•„๋‹Œ์ง€, ๋งŒ์•ฝ ์œ ์‚ฌํ•˜๋‹ค๋ฉด ์–ด๋–ค ์œ„์น˜ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ.

1. ๋จผ์ € ๋‘ ์˜์ƒ์˜ feature๋ฅผ ์ถ”์ถœํ•œ๋‹ค.

2. ์ถ”์ถœํ•œ feature๋ฅผ ์ ์ ˆํ•œ descriptor๋ฅผ ํ†ตํ•ด ๋ฌ˜์‚ฌํ•œ๋‹ค.

3. descriptor๋ฅผ ํ†ตํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‘ featurer๋ฅผ ๋น„๊ตํ•œ๋‹ค.

4. ๋น„๊ตํ•œ Feature๋“ค์ด ์–ผ๋งˆ๋‚˜ good ํ•œ์ง€ image matching์œผ๋กœ ํŒ๋ณ„ํ•œ๋‹ค.

* ์ด ๋•Œ good image matching์€ NNDR๋กœ ์•Œ ์ˆ˜ ์žˆ๋‹ค. NNDR๊ฐ’์ด ์ž‘์„์ˆ˜๋ก good matching์— ๊ฐ€๊น๋‹ค.

** NNDR : ๊ฐ€์žฅ ์ž˜ ๋งž๋Š” ์ƒํƒœ์ธ ๋‘ feature๊ฐ„์˜ ๊ฑฐ๋ฆฌ / ๋‘ ๋ฒˆ์งธ๋กœ ์ž˜ ๋งž๋Š” ์ƒํƒœ์ธ ๋‘ featurer๊ฐ„์˜ ๊ฑฐ๋ฆฌ.

 

 

โ˜๏ธ Convolutional Neural Network

Convolution

- stride๊ฐ€ 1์ธ ๊ฒฝ์šฐ๋Š” 1์นธ์”ฉ ๋งˆ์Šคํฌ๋ฅผ ์ด๋™์‹œํ‚ค๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

Relu

- non-linear function์˜ ์ข…๋ฅ˜์ด๋‹ค.

- value๊ฐ€ 0๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ result๋Š” 0์ด ๋˜๊ณ , 0๋ณด๋‹ค ํฌ๋ฉด ์›๋ž˜ ๊ฐ’์„ ์œ ์ง€ํ•œ๋‹ค.

 

Pooling

- max value๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Histogram Equalization  (0) 2022.10.08
Spatial Filtering  (0) 2022.10.08
Intensity transformation  (2) 2022.10.08
Line detection  (0) 2022.09.29
Edge Detection  (0) 2022.09.27
728x90
๋ฐ˜์‘ํ˜•
728x90

Histogram Equalization ๋ž€?

โžก๏ธ ์šฐ๋ฆฌ ๋ง๋กœ๋Š” histogram์„ ์ •๊ทœํ™” ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โžก๏ธ ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์˜์ƒ์„ ๊ตฌ์„ฑํ•˜๋Š” ํ”ฝ์…€์˜ ์ „์ฒด ๊ฐœ์ˆ˜๋กœ ๋‚˜๋ˆˆ๋‹ค.

โžก๏ธ bin์˜ ๊ฐœ์ˆ˜๋ฅผ ์ž˜ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

โžก๏ธ ๋ฐ๊ธฐ ๋˜๋Š” color ๊ฐ’์˜ ์ฐจ์ด๋ฅผ ์ด๋ฏธ์ง€์— ์ ์šฉํ•œ ๊ฒƒ์ด๋‹ค.

 

* histogram์ด ํŠน์ • ์˜์—ญ์— ๋„ˆ๋ฌด ์ง‘์ค‘๋˜์–ด ์žˆ์œผ๋ฉด contrast๊ฐ€ ๋‚ฎ์€ ๊ฒƒ์ด๋‹ค. 

** histogram์ด ๊ณจ๊ณ ๋ฃจ ๋ถ„ํฌ๋˜์–ด ์žˆ์„์ˆ˜๋ก high contrast๋ผ๊ณ  ํ•˜๋Š”๋ฐ, high contrast๋ฅผ ์ข‹์€ ์ด๋ฏธ์ง€๋ผ๊ณ  ํ•œ๋‹ค.

low contrast          vs.       high contrast

 

 

 

Histogram ๊ณผ bin

[๋ฌธ์ œ]

๋งŒ์•ฝ, ๋‹ค์Œ ํ‘œ์™€ ๊ฐ™์€ ์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์ด ๋•Œ intensity level์€ 16[0,15], bin์˜ ๊ฐœ์ˆ˜๊ฐ€ 4๋ผ๋ฉด, ๊ฐ bin์€ ?

[๋ฌธ์ œ]๋ฅผ ์œ„ํ•œ ํ‘œ

[ํ•ด์„ค]

์ด ๋•Œ ํ•ด๋‹น ์ด๋ฏธ์ง€๋Š” 5 x 6์œผ๋กœ ์ด 30๊ฐœ์˜ ํ”ฝ์…€์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์ „์ฒด์ ์ธ ๋กœ์ง์€ ๊ฐ bin์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์˜ ์ˆ˜๋ฅผ ์ „์ฒด ํ”ฝ์…€์˜ ์ˆ˜๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด๋‹ค.

๋˜ํ•œ ๊ฐ bin์€ intensity level์˜ ๋ฒ”์œ„ ๋‚ด์—์„œ ์ฃผ์–ด์ง„ bin์˜ ๊ฐœ์ˆ˜์ธ 4๊ฐœ๋กœ ๋‚˜๋ˆ„๋ฉด ๋œ๋‹ค. 

 

bin์˜ ๊ฐœ์ˆ˜๊ฐ€ 4๊ฐœ ์ด๋ฏ€๋กœ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

  โžก๏ธ ์ฒซ ๋ฒˆ์งธ bin[0-3] = 28 / 30

  โžก๏ธ ๋‘ ๋ฒˆ์งธ bin[4-7] = 1 / 30

  โžก๏ธ ์„ธ ๋ฒˆ์งธ bin[8-11] = 1 / 30

  โžก๏ธ ๋„ค ๋ฒˆ์งธ bin[12-15] = 0 / 30

 

์œ„ ํ‘œ์—์„œ ๋ณด์ด๋“ฏ,

0-3์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์ด 28๊ฐœ,

4-7์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์ด 1๊ฐœ,

8-11์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์ด 1๊ฐœ,

12-15์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์ด 0๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 

 

Histogram Equalization ์ ์šฉ

1. histogram์„ ๊ณ„์‚ฐํ•œ๋‹ค.

2. ํžˆ์Šคํ† ๊ทธ๋žจ์„ ์ตœ๋Œ€ํ•œ ํ‰ํ‰ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์ฐพ๋Š”๋‹ค. (mapping function)

3. ์ด๋ฏธ์ง€์— mapping function์„ ์ ์šฉํ•œ๋‹ค.

 

[์‚ฌ์šฉ ์˜ˆ]

equalizeHist( image, hist_image ); // ์ด๋ ‡๊ฒŒ input๊ณผ output๋งŒ ์ ์œผ๋ฉด ๋œ๋‹ค.
imshow ("hist equalized image", hist_image);

 

 

* histogram equalization์€ ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๋” ์„ ๋ช…ํ•˜๊ฒŒ ํ•˜์ง€๋งŒ์€ ์•Š๋Š”๋‹ค. ํŠนํžˆ ํŠน์ • ๋ฒ”์œ„์˜ data๊ฐ€ dominantํ•  ๋•Œ๋Š” ์˜คํžˆ๋ ค ์ž˜ ๋ณด์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Image feature matching  (0) 2022.10.30
Spatial Filtering  (0) 2022.10.08
Intensity transformation  (2) 2022.10.08
Line detection  (0) 2022.09.29
Edge Detection  (0) 2022.09.27
728x90
๋ฐ˜์‘ํ˜•
728x90

spatial filtering ์ด๋ž€?

-> spatial filter๋ฅผ ํ™œ์šฉํ•ด์„œ ์ „์ฒ˜๋ฆฌ ํ•˜๋Š” ๊ฒƒ.

 

spatial filtering์˜ ์ข…๋ฅ˜

1. Averaging filter

- ์ฃผ๋ณ€ ๊ฐ’์˜ ํ‰๊ท ์œผ๋กœ ๋Œ€์ฒด ์‹œํ‚จ๋‹ค.

- random noise๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

- image๊ฐ€ ํ๋ฆฟํ•ด์ง„๋‹ค. (blurs an image)

 

[์‚ฌ์šฉ ์˜ˆ]

ํ˜•์‹ : blur( input image, output image, size of kernel);

blur( image, result, Size(5,5) );

 

 

2. Gaussian filter

- ๊ฐ€์ค‘์น˜ ํ‰๊ท ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, ๊ฐ€์ค‘์น˜๋ฅผ gaussian filter๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•œ๋‹ค.

 

[์‚ฌ์šฉ ์˜ˆ]

GaussianBlur( image, image, size of kernel, 0, 0, BORDER_DEFAULT);

 

 

* averaging filter๊ณผ gaussian filter๋Š” ์„œ๋กœ ๋น„์Šทํ•˜๋‹ค.

- mask ํฌ๊ธฐ๊ฐ€ ์ž‘์„์ˆ˜๋ก ์ž‘์€ ์žก์Œ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

- ํฐ ์žก์Œ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํฐ mask๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์•„์ง„๋‹ค.

 

 

3. Sharpening

- ๋ฐ๊ธฐ๊ฐ’ ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ๋ถ€๋ถ„์„ ๋” ๊ฐ–์˜ค์‹œํ‚ด์œผ๋กœ์จ ๋ณด๋‹ค edge์žˆ๊ฒŒ ๋งŒ๋“ ๋‹ค.

- ๊ณต๊ฐ„ domain์—์„œ์˜ ๋ฏธ๋ถ„์„ ์ˆ˜ํ–‰ํ•จ์œผ๋กœ์จ sharpening์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

- ๊ฐ’์˜ ๋ณ€ํ™”๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ถ€๋ถ„์„ sharpening ํ•œ๋‹ค.

   - sharpening ํ•œ๋‹ค๋Š” ๊ฒƒ : ๊ฐ’์˜ ์ฐจ์ด๊ฐ€ ํฐ ๋ถ€๋ถ„์˜ ๊ฐ„๊ฒฉ์„ ๋” ํฌ๊ฒŒ ๋งŒ๋“ ๋‹ค. 

- ๋ณดํ†ต 2์ฐจ ๋ฏธ๋ถ„์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  1) 2์ฐจ ๋ฏธ๋ถ„์„ ๋จผ์ € ์ˆ˜ํ–‰ํ•œ๋‹ค.

  2) ์›๋ณธ ์ด๋ฏธ์ง€์™€ ๋ฏธ๋ถ„ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋”ํ•œ๋‹ค.

- unsharp mask : ์ด mask๋ฅผ ์“ฐ๋ฉด ๊ฐ’์˜ ๋ณ€ํ™”๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ถ€๋ถ„์ด ๋” ๊ฐ•์กฐ๋œ๋‹ค.

 

[์‚ฌ์šฉ ์˜ˆ]

Laplacian( image, laplacian, CV_16S, 1, 1, 0 ); // 2์ฐจ ๋ฏธ๋ถ„์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
convertScaleAbs( laplacian, abs_laplacian ); // 8๋น„ํŠธ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
sharpening = abs_laplacian + image; //2์ฐจ ๋ฏธ๋ถ„ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์›๋ณธ ์ด๋ฏธ์ง€์— ๋”ํ•œ๋‹ค.

3-1. unsharp masking

[์‚ฌ์šฉ ์˜ˆ]

cvtColor( input, gray, COLOR_BGR2GRAY ); // ์ƒ‰์ƒ ๋ณ€ํ™˜
GaussianBlur( gray, blur, Size(5,5), 3 );
addWeighted( gray, 1.5, blur, -0.5, 0, sharp ); // ๊ฐ๊ฐ ๊ฐ€์ค‘์น˜ ์ง€์ •.

 

 

 

4. Median filter

- ์ค‘๊ฐ„๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค. (ํ‰๊ท ๊ฐ’์ด๋ž‘ ๋‹ค๋ฅด๋‹ค!)

- m x m ํฌ๊ธฐ์˜ Filter๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด m^2/2 ๋งŒํผ์˜ ์žก์Œ์„ ์—†์•จ ์ˆ˜ ์žˆ๋‹ค.

   ์ฆ‰, salt-and-pepper nosie(ํฐ์ƒ‰๊ณผ ๊ฒ€์€์ƒ‰ noise), random noise๋ฅผ ์—†์• ๋Š”๋ฐ ํšจ๊ณผ์ ์ด๋‹ค.

- blur ์—†์ด ์žก์Œ์„ ์—†์•จ ์ˆ˜ ์žˆ์œผ๋‚˜, ์—ฐ์‚ฐ๋Ÿ‰์ด ๋” ๋งŽ๊ณ , ํŠน์ • noise์—์„œ ํšจ๊ณผ์ ์ด๋‹ค.

 

[์‚ฌ์šฉ ์˜ˆ]

medianBlur( image, mf1, 3 ); // medianblur ์ ์šฉ
imshow( "MedianFiltered", mf1 ); // ๊ฒฐ๊ณผ ์ถœ๋ ฅ
728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Image feature matching  (0) 2022.10.30
Histogram Equalization  (0) 2022.10.08
Intensity transformation  (2) 2022.10.08
Line detection  (0) 2022.09.29
Edge Detection  (0) 2022.09.27
728x90
๋ฐ˜์‘ํ˜•
728x90

intensity transformation๋ž€? 

 โžก๏ธ ์ด๋ฏธ์ง€์˜ ๋ฐ๊ธฐ๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ.

 

 

 

intensity transformation์˜ ์ข…๋ฅ˜

intensity transformation์—๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.

 

1. negative 

 

- ์ด๋ฏธ์ง€์˜ ์–ด๋‘์šด ์˜์—ญ์„ ๋ฐ์€ ์˜์—ญ์œผ๋กœ, ์ด๋ฏธ์ง€์˜ ๋ฐ์€ ์˜์—ญ์„ ์–ด๋‘์šด ์˜์—ญ์œผ๋กœ ๋ฐ˜์ „ ์‹œํ‚ค๋Š” ๊ฒƒ.

 

[๊ณต์‹] 

โžก๏ธ L - 1 - r

r : input, ์˜์ƒ์˜ intensity level์ด [0, L-1] ์‚ฌ์ด์ธ ๊ฒฝ์šฐ

 

 

 

2. log transformation

- ์–ด๋‘์šด ์˜์—ญ์— ์ˆจ์–ด ์žˆ๋Š” detail์„ ๋” ์„ ๋ช…ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

- ๋‹จ์ˆœํžˆ ์˜์ƒ์„ ๋ฐ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

- ๋ฐ์€ ๋ถ€๋ถ„์˜ detail์€ ์ค„์–ด๋“ค๊ณ , ์–ด๋‘์šด ์˜์—ญ์˜ detail์€ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

- ์–ด๋‘์šด ๋ถ€๋ถ„์˜ contrast๋ฅผ ๋†’์—ฌ์„œ ๋” ์„ ๋ช…ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

[๊ณต์‹] 

โžก๏ธ C log (1+r)

c: ์ž„์˜์˜ ์ƒ์ˆ˜, r : input

 

 

3. gamma transforamtion

- Γ(gamma) ์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋ฐ์€ ๋ถ€๋ถ„์˜ detail์„ ์˜ฌ๋ฆด ์ˆ˜๋„ ์žˆ๊ณ , ์–ด๋‘์šด ๋ถ€๋ถ„์˜ detail์„ ์˜ฌ๋ฆฌ ์ˆ˜ ์žˆ๋‹ค.

- Γ > 1์ธ ๊ฒฝ์šฐ : ๋ฐ์€ ๋ถ€๋ถ„์˜ detail์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

- Γ < 1์ธ ๊ฒฝ์šฐ : ์–ด๋‘์šด ๋ถ€๋ถ„์˜ detail์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

- Γ = 1์ธ ๊ฒฝ์šฐ : input ์ด๋ฏธ์ง€์™€ output ์ด๋ฏธ์ง€๊ฐ€ ๋™์ผํ•˜๋‹ค.

 

[๊ณต์‹] 

โžก๏ธ Cr^ Γ

c: ์ž„์˜์˜ ์ƒ์ˆ˜, r : input,  Γ: gamma ๊ฐ’.

 

 

 

[์ ์šฉ ๊ฒฐ๊ณผ]

 

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Image feature matching  (0) 2022.10.30
Histogram Equalization  (0) 2022.10.08
Spatial Filtering  (0) 2022.10.08
Line detection  (0) 2022.09.29
Edge Detection  (0) 2022.09.27
728x90
๋ฐ˜์‘ํ˜•
728x90

ํ•œ ์  (x1, y1)์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ง์„ ์€ y1 = a*x1 + b ์ด๋‹ค.

์ด ์‹์€ b = -a*x1 + y1 ์œผ๋กœ๋„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฒฐ๊ตญ, ํ•œ ์ ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ง์„ ์„ b์™€ m์— ๋Œ€ํ•œ ํ‰๋ฉด์—์„œ ํ•˜๋‚˜์˜ ์ง์„ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

y1 = a*x1 + b  โžก๏ธ  b = -a*x1 + y1 

์‹์„ ์ด๋ ‡๊ฒŒ ๋ฐ”๊พธ๋ฉด, a, b ํ‰๋ฉด์—์„œ ์ง์„ ์ด ๋‘ ๊ฐœ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. ์ด๋•Œ ๋‘ ์ง์„ ์˜ ๊ต์ ์€ ๋‘ ์ ์„ ์ง€๋‚˜๋Š” ์ง์„ ์„ ์˜๋ฏธํ•˜๊ฒŒ ๋œ๋‹ค. 

 

์ฐธ๊ณ  ์‚ฌ์ดํŠธ

https://wkdtjsgur100.github.io/Hough-Transform/

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Image feature matching  (0) 2022.10.30
Histogram Equalization  (0) 2022.10.08
Spatial Filtering  (0) 2022.10.08
Intensity transformation  (2) 2022.10.08
Edge Detection  (0) 2022.09.27

+ Recent posts