์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๋ฐ์ดํฐ ์ ์ก
- xv6
- ์ฝ๋ฉํ ์คํธ์ค๋น
- ์ค๋ธ์
- reducible
- ๊ฐ๋ฐ์์ทจ์
- 99ํด๋ฝ
- ๋น์ฃผ๊ธฐ์ ํธ
- til
- leetcode
- mariadb
- ์ฐ๋ถํฌdb
- tcp ํ๋กํ ์ฝ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- IEEE 802
- ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- tcp ์ธ๊ทธ๋จผํธ
- i-type
- ํ๋ ์ ๊ตฌ์กฐ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ฃผ๊ธฐ์ ํธ
- ์ค๋ ๋
- well known ํฌํธ
- ์์๋ฒํธ
- git merge
- ํญํด99
- ์ค๋ฅ๊ฒ์ถ
- ์ค๋ฅ์ ์ด
- ํ๋ก์ด๋์์
- ํ ํฐ ๋ฒ์ค
- Today
- Total
Unfazedโ๏ธ๐ฏ
์์์ ๋ ผ๋ฆฌ ์ฐ์ฐ ( + xor ์ฐ์ฐ ) ๋ณธ๋ฌธ
์์์ ๋ ผ๋ฆฌ ์ฐ์ฐ
์์์ ๋ ผ๋ฆฌ ์ฐ์ฐ์ ๊ฐ ํฝ์ ๊ฐ์ ๋ํ์ฌ ๋นํธ ๋จ์๋ก ์ด๋ฃจ์ด์ง๋ค.
๊ทธ๋ ์ด ์ค์ผ์ผ ์์์ ๊ฒฝ์ฐ, ํ ํฝ์ (1byte=8bit)์ ๊ตฌ์ฑํ๋ ์ฌ๋๊ฐ์ ๋นํธ์ ๊ฐ๊ฐ ๋ ผ๋ฆฌ์ฐ์ฐ์ด ์ด๋ฃจ์ด์ง๋ค.
์๋ฅผ ๋ค์ด ๋ ๊ฐ์ ์ ๋ ฅ ์์์์ ํน์ ์ขํ์ ์๋ ํฝ์ ์ ๊ทธ๋ ์ด์ค์ผ์ผ ๊ฐ์ด(0~255) ๊ฐ๊ฐ 110๊ณผ 200์ธ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ด ์ฐ์ฐ๋๋ค.
110 = 01101110(2) | |
200 = 11001000(2) | |
110 AND 200 | 01001000(2)=72 |
110 OR 200 | 11101110(2)=238 |
110 XOR 200 | 10100110(2)=166 |
NOT 110 | 10010001(2)=145 |
OpenCV์์๋ AND,OR,XOR,NOT ์ ๋ ผ๋ฆฌ์ฐ์ฐ ํจ์๋ฅผ ์ ๊ณตํ๋ค.
cv2.bitwise_and(src1,src2)
cv2.bitwise_or(src1,src2)
cv2.bitwise_xor(src1,src2)
cv2.bitwise_not(src1) //not์ ํผ์ฐ์ฐ์๊ฐ ํ๋๋ฟ์ธ ๋จํญ์ฐ์ฐ์์ด๋ฏ๋ก ํ๋์ ์์๋ง์ ์ ๋ ฅ๋ฐ๋๋ค.
ํฐ์์ ํฝ์ ๊ฐ์ 255๋ก ๋ชจ๋ ๋นํธ๊ฐ 1๋ก ์ค์ ๋ 11111111(2),
๊ฒ์ ์์ ํฝ์ ๊ฐ์ 0์ผ๋ก ๋ชจ๋ ๋นํธ๊ฐ 0์ผ๋ก ์ค์ ๋์ด 00000000(2)์ด๋ค.
ํฐ์์ ํฝ์ (11111111(2))์ ๋ค๋ฅธ ์์(new_src๋ผ ๊ฐ์ )์ ๊ฐ์ ์์น ํฝ์ ๊ณผ and ์ฐ์ฐ์ ํ๊ฒ ๋๋ค๋ฉด, ๊ทธ ํฝ์ ์์น์๋ new_src์ ํฝ์ ์ด ๊ทธ๋๋ก ๋ฐ์๋๊ฒ ๋ ๊ฒ์ด๋ค. ( 1 and 1 => 1, 1 and 0 => 0 ์ด๊ธฐ ๋๋ฌธ )
or ์ฐ์ฐ์ ํ๋ค๋ฉด ์ ์ฒด ์์์ด ํฐ์์ด ๋ ๊ฒ์ด๋ค. (1 or 1 => 1, 1 or 0 => 1)
xor ์ฐ์ฐ์ ํ๋ค๋ฉด new_src์ ๊ฐํฝ์ ์ ๋นํธ๋ค์ด ๋ชจ๋ ๋ฐ์ ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ๊ฒ์ด๋ค (1 xor 1 => 0, 1xor 0 => 1)
not ์ฐ์ฐ์ ํด๋น์์์ ๊ฐ ํฝ์ ๋ชจ๋ ๋นํธ๋ฅผ ๋ฐ์ ์ํจ๋ค.
๋ฐฐํ์ ๋ ผ๋ฆฌํฉ
XOR exclusive or : ์ฃผ์ด์ง 2๊ฐ์ ๋ช ์ ๊ฐ์ด๋ฐ 1๊ฐ๋ง ์ฐธ์ผ ๊ฒฝ์ฐ ํ๋จํ๋ ๋ ผ๋ฆฌ ์ฐ์ฐ์ด๋ฉฐ
exclusive OR, exclusive NOR, ๋ณดํต exclusive์ x๋ฅผ ๋ฐ์์ XOR๋ก ๋ง์ด ์ฌ์ฉํ๋ค.
exclusive๋ '๋ฐฐํ์ '์ด๋ผ๋ ๋ป์ผ๋ก, ์ฐ๋ฆฌ๋ค์ ์ผ์์์์ ๋จ์ ๋ฐฐ์ฒํ๋ ๊ฒ์ ๋ณดํต ๋ฐฐํ์ ์ด๋ผ๊ณ ๋งํ๋ค.
์ด๋ฅผ ์๊ฐํด๋ณด๋ฉด 0 ๊ณผ 1 ๊ฐ์ด ๋นํธ๊ฐ ์๋ก ๋ค๋ฅผ ๊ฒฝ์ฐ(์ฆ, ๋ฐฐํ์ ์ผ ๊ฒฝ์ฐ) ์ 1(์ฐธ), 0 xor 0, 1 xor 1๊ณผ ๊ฐ์ด ์๋ก ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋ฐฐํ์ ์ด์ง ์๊ธฐ ๋๋ฌธ์ 0(๊ฑฐ์ง)์ด ๋ ผ๋ฆฌ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋๋ค.
๊ฐ๋จํ ์๊ฐํ๋ฉด ๊ฐ์ผ๋ฉด 0, ๋ค๋ฅผ ๋ 1
exclusive, ๋ฐฐํ์ ์ด๋ผ๋ ๋ป์ ๋ ์ฌ๋ ค๋ณด๋ฉด ํ๊ฐ๋ฆฌ์ง ์์ ๊ฒ ๊ฐ๋ค.
'OpenCV' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ปดํจํฐ๋น์ ์ด๋ฏธ์ง ์ ์ฒ๋ฆฌ : ์ฝ๋ ์์ง ๊ฒ์ถ ๋ฐ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ/Image Processing : Corner Detection, Edge Extraction, and Machine Learning Techniques (0) | 2023.12.14 |
---|