728x90
๋ฐ˜์‘ํ˜•

๐Ÿšจ error

์˜ค๋žœ๋งŒ์— ์ฝ”๋“œ๋ฅผ github์— ์˜ฌ๋ฆฌ๋ ค๊ณ  ์ปค๋ฐ‹์„ ํ–ˆ๋”๋‹ˆ ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋‹ค.

 ! [remote rejected] master -> master (pre-receive hook declined)
remote: error: GH001: Large files detected. 
You may want to try Git Large File Storage - https://git-lfs.github.com.

 

๋‚ด๊ฒŒ ์žˆ์–ด ๊ฝค๋‚˜ ์ค‘์š”ํ•œ ์ž‘์—…์ด์—ˆ๋Š”๋ฐ, ๋ช‡ ๋ฒˆ์„ ์‹œ๋„ํ•ด๋„ ์—๋Ÿฌ๋Š” ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋‹ค.

 

๐Ÿšจ ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” assetsํŒŒ์ผ์— ๋น„๋””์˜ค๊ฐ€ ํ•˜๋‚˜ ์žˆ์–ด ์šฉ๋Ÿ‰์ด ๋„ˆ๋ฌด ์ปธ๊ธฐ ๋•Œ๋ฌธ์— ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์•˜๋‹ค. 

 

๊ทธ๋ž˜์„œ, lib ํด๋”๋งŒ ์ปค๋ฐ‹ํ•˜๊ณ ์ž ํ–ˆ์œผ๋‚˜, ์ด๊ฒƒ ๋˜ํ•œ ๋˜์ง€ ์•Š์•˜๋‹ค. 

์ด์ „ ์ปค๋ฐ‹ ๊ธฐ๋ก์ด ๋‚จ์•„์žˆ์–ด์„œ ๊ณ„์† ๊ฐ™์€ ์ด์œ ๋กœ push๊ฐ€ ์‹คํŒจํ–ˆ๋˜ ๊ฒƒ์ด๋‹ค.

 

 

๐Ÿ—  SOLUSION

 

์ด๋•Œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

๐Ÿ’ป  ์ฒซ ๋ฒˆ์งธ๋Š” ๊ฐ•์ œ๋กœ push๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

$ git push origin master -f

ํ•˜์ง€๋งŒ ๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ ๊ฐ•์ œ push๋„ ๋˜์ง€ ์•Š์•˜๋‹ค...๐Ÿฅน

 

 

 

๐Ÿ’ป  ๋งŒ์•ฝ ๊ฐ•์ œ push๋„ ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ, history๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ํ•˜๋ฉด ๋œ๋‹ค.

$ rm -rf .git

ํ„ฐ๋ฏธ๋„์— ์œ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ด์ „ ์ปค๋ฐ‹ history๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ history๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ git์„ ์ดˆ๊ธฐํ™”ํ•˜๋‹ˆ ๋ฌธ์ œ ์—†์ด commit, push๊ฐ€ ์ด๋ฃจ์–ด์ง์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค !!

728x90

 

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿˆโ€โฌ› git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Git] ๋ธŒ๋žœ์น˜ ์ „๋žต (Git, GitHub, GitLab)  (0) 2024.07.27
git merge ์—๋Ÿฌ  (0) 2022.07.06
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
728x90
๋ฐ˜์‘ํ˜•
728x90

Edge pixels : ๋ฐ๊ธฐ๊ฐ€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ๋ณ€ํ•˜๋Š” ๊ฒƒ

 

โœ…  ์–ด๋–ป๊ฒŒ detect edges๋ฅผ ํ•˜๋Š”๊ฐ€?

[1์ฐจ์›]

1์ฐจ ๋ฏธ๋ถ„์„ ํ•œ๋‹ค. 

์ฆ‰, ๋ฏธ๋ถ„ ํ–ˆ์„ ๋•Œ 0์ด ์•„๋‹Œ ํŠน์ •ํ•œ ๋ถ€๋ถ„์„ ์ฐพ์•„์„œ ๊ฒ€์ถœํ•˜๋Š” ๊ฒƒ.

 

[2์ฐจ์›]

image gradient๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

grad(f) = x์ถ• ๋ฐฉํ–ฅ์œผ๋กœ์˜ ๋ฏธ๋ถ„๊ฐ’๊ณผ y์ถ• ๋ฐฉํ–ฅ์œผ๋กœ์˜ ๋ฏธ๋ถ„ ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

* gradient vector์™€ edge direction์€ 90๋„ ์ฐจ์ด.

* gradient vector๋Š” ํ•ด๋‹น ์œ„์น˜์—์„œ ๋ณ€ํ™”๋Ÿ‰์ด ๊ฐ€์žฅ ๊ธ‰๊ฒฉํ•œ ๋ฐฉํ–ฅ.

 

[noise๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ]

noise๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, edge detection์ด ํž˜๋“ค๊ธฐ ๋•Œ๋ฌธ์— filtering์„ ์‚ฌ์šฉํ•ด์„œ noise๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.

 

 

โœ…  Edge detection ๋ฐฉ๋ฒ•

1. Sobel operators

์ž๊ธฐ ์ž์‹ ๊ณผ ์ฃผ๋ณ€์˜ ์ฐจ์ด.

gradient๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉฐ, ์—ฐ์‚ฐ์„ ์œ„ํ•ด์„œ๋Š” spatial filter๊ฐ€ ํ•„์š”ํ•˜๋‹ค. 

filtering์„ ๋จผ์ € ํ•˜๊ณ  sobel operator๋ฅผ ์ ์šฉํ•˜๋ฉด filter๋ฅผ ์ ์šฉํ•˜์ง€ ์•Š์€ ๊ฒƒ์— ๋น„ํ•ด ์œค๊ณฝ์„ ์ด ๋šœ๋ ทํ•˜๊ฒŒ ๋ณด์ธ๋‹ค.

๋จผ์ €, gx(gradient x)์™€ gy(gradient y)๋ฅผ ๊ตฌํ•˜๊ณ , ๊ฐ๊ฐ์˜ ์ ˆ๋Œ€๊ฐ’์„ ๋”ํ•˜๋ฉด M(x,y) ์ฆ‰, Magnitude๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

2. Canny Edge Detector

Sobel๋ณด๋‹ค ๋” ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

 

Algorithm

1. ๊ฐ€์šฐ์‹œ์•ˆ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜์ƒ ๋‚ด ์žก์Œ์„ ์—†์•ค๋‹ค.

2. Sobel dedge mask๋ฅผ ์‚ฌ์šฉํ•ด์„œ gradient์˜ ํฌ๊ธฐ์™€ ๊ฐ๋„๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

3. gradient ๋ฐฉํ–ฅ์œผ๋กœ ์ธ์ ‘ํ•œ ํ”ฝ์…€์„ ๋จผ์ € ์ฐพ๊ณ , nonmaxima suppression์„ ์ ์šฉํ•œ๋‹ค.

 

(nonmaxima suppression์ด๋ž€?)

๋‹ค์Œ ์˜ˆ์‹œ์˜ ๊ฒฝ์šฐ, p5๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋งŒ์•ฝ p2์™€ p8์˜ gradient magnitude๋ณด๋‹ค ์ž‘๋‹ค๋ฉด, p5๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. ์ฆ‰, 0์œผ๋กœ ๋งŒ๋“ ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด p5๋Š” edge๊ฐ€ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์ ์–ด์ง„๋‹ค.

๋งŒ์•ฝ P5๊ฐ€ p2, p8๋ณด๋‹ค gradient magnitude ๊ฐ’์ด ํฌ๋‹ค๋ฉด ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค.

์ด๋Ÿฐ์‹์œผ๋กœ max๋งŒ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ด nonmaxima suppressiondlek. 

 

4. double thresholding๊ณผ connectivity analysis๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๋จผ์ €, ์‚ฌ์šฉ์ž ์ง€์ •์œผ๋กœ Th์™€ Tl์„ ์ •ํ•œ๋‹ค.

โžก๏ธ M(x,y) >= Th ์ธ ๊ฒฝ์šฐ, edge

โžก๏ธ M(x,y) < Tl ์ธ ๊ฒฝ์šฐ, non-edge

โžก๏ธ otherwise, ์ฆ‰, Th์™€ Tl ์‚ฌ์ด์˜ ๊ฐ’๋“ค

    ์ด ๊ฒฝ์šฐ, ๋งŒ์•ฝ edge๋ผ๊ณ  ํŒ์ •ํ•œ ๋ถ€๋ถ„๊ณผ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉด edge๋กœ, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด non-edge๋กœ ๊ฐ„์ฃผํ•œ๋‹ค. 

 

 

Sobel edge์™€ Canny์˜ ์ฐจ์ด

โžก๏ธ  canny๋Š” Sobel์— ๋น„ํ•ด ์ ์€ ์ˆ˜์˜ ๋ถ€๋ถ„๋งŒ์„ edge๋กœ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค.

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
Line detection  (0) 2022.09.29
728x90
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/10718

 

10718๋ฒˆ: We love kriii

ACM-ICPC ์ธํ„ฐ๋„ท ์˜ˆ์„ , Regional, ๊ทธ๋ฆฌ๊ณ  World Finals๊นŒ์ง€ ์ด๋ฏธ 2ํšŒ์”ฉ ์ง„์ถœํ•ด๋ฒ„๋ฆฐ kriii๋Š” ๋ฏธ๋ จ์„ ๋ฒ„๋ฆฌ์ง€ ๋ชปํ•˜๊ณ  ์™ ์ง€ ๋ชจ๋ฅด๊ฒŒ ์˜ฌํ•ด์—๋„ ํŒŒ์ฃผ World Finals ์ค€๋น„ ์บ ํ”„์— ์ฐธ์—ฌํ–ˆ๋‹ค. ๋Œ€ํšŒ๋ฅผ ๋œฐ ์ค„ ๋ชจ๋ฅด๋Š” ์ง€๋ฐ•

www.acmicpc.net

 

๐Ÿ’ป ๋ฌธ์ œ)

๋‘ ์ค„์— ๊ฑธ์ณ "๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ"์„ ํ•œ ์ค„์— ํ•œ ๋ฒˆ์”ฉ ์ถœ๋ ฅํ•œ๋‹ค.

โ€‹

2557๋ฒˆ ๋ฌธ์ œ์™€ ๊ฐ™์ด ์ž…๋ ฅ ์—†์ด ์ œ์‹œ๋œ ๋ฌธ์žฅ์ด ์ถœ๋ ฅ ๋˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๋ฌธ์ œ์ด๋‹ค.

โ€‹

--์†Œ์Šค์ฝ”๋“œ1--

#include <stdio.h>
โ€‹
int main(void)
{
printf("๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ\n");
printf("๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ");
return 0;
}

โ€‹

โ€‹

์ฝ”๋“œ์„ค๋ช…1. printfํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ""์•ˆ์— ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

์ฝ”๋“œ์„ค๋ช…2. \n์€ ์ค„ ๋ฐ”๊ฟˆ์„ ์˜๋ฏธํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฐ๊ณผ๋Š”

โ€‹

๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ

๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ

โ€‹

์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜์Œ printfํ•จ์ˆ˜์—์„œ ์ค„๋ฐ”๊ฟˆ์„ ์ด์šฉํ•ด ๋‹ค์Œ ์ค„์—์„œ ๋‘๋ฒˆ์งธ printf๊ฐ€ ์‹œ์ž‘๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โ€‹

--์†Œ์Šค์ฝ”๋“œ2--

#include <stdio.h>
โ€‹
int main(void)
{
printf("๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ\n๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ");
return 0;
}

โ€‹

์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด๋„ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

โ€‹

์ฝ”๋“œ์„ค๋ช…1. ์•ž์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด \n์€ ์ค„๋ฐ”๊ฟˆ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฝ”๋”ฉ์€ ์ˆœ์„œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ € ๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ์„ ์ถœ๋ ฅํ•˜๊ณ , \n์ด ์ด๋ฃจ์–ด์ ธ ์ค„์„ ๋ฐ”๊พผ ๋’ค ๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ์ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

โ€‹

์ œ์‹œ๋œ ๋‘ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

โ€‹

๋‘ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.

โ€‹

์ด ๋ฌธ์ œ๋Š” printfํ•จ์ˆ˜๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ , \n์˜ ์˜๋ฏธ์™€ ์‚ฌ์šฉ ์œ„์น˜๋ฅผ ์ž˜ ํŒŒ์•…ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š ๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€_2557. Hello World  (0) 2022.08.25
728x90
๋ฐ˜์‘ํ˜•
 

๋ฌธ์ œ)

Hello World!๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

โ€‹

โ€‹

์ฃผ์–ด์ง„ ๋ฌธ์ œ๋Š” ์ž…๋ ฅ ์—†์ด Hello World!๊ฐ€ ์ถœ๋ ฅ ๋˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๋ฌธ์ œ์ด๋‹ค.

โ€‹

--์†Œ์Šค์ฝ”๋“œ--

#include <stdio.h>
โ€‹
int main(void)
{
printf("Hello World!");
return 0;
}

โ€‹

โ€‹

โ€‹

๋‹จ๊ณ„๋ณ„ ๋ฌธ์ œ์—์„œ ์ฒซ ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ๊ฐ€ ๊ฐ„๋‹จํ•˜๊ณ , ์–ด๋ ค์›€ ์—†์ด ํ’€ ์ˆ˜ ์žˆ๋‹ค.

โ€‹

์ฝ”๋“œ ์„ค๋ช…1. printf ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ""์•ˆ์— ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

์ฝ”๋“œ ์„ค๋ช…2. ๋ฐ˜ํ™˜๊ฐ’์„ 0์œผ๋กœ ๋‘๊ณ  ์‹คํ–‰ํ•˜๋ฉด ์›ํ•˜๋Š” ์ถœ๋ ฅ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

โ€‹

์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” Hello World! ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

โ€‹

printf ํ•จ์ˆ˜๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ–ˆ๋‹ค๋ฉด ์ถฉ๋ถ„ํžˆ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

โ€‹

โ€‹

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š ๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€_10718. We love kriii  (0) 2022.08.25

+ Recent posts