일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- SPL
- GitHub
- DFS
- imread
- Python
- RNN
- Numpy
- GT-S80
- keras
- synology
- pandas
- index
- CNN
- Splunk
- Lotto
- mean
- 삼성소프트웨어멤버십
- 알고리즘
- mariadb
- SciPy
- E-P1
- javascript
- install
- pip
- LSTM
- dataframe
- pycharm
- Series
- Button
- ipad
Archives
- Today
- Total
잠토의 잠망경
[OpenCV] Sharpening 본문
Sharpening
목적
1.영상을 선명하게
- edge검출
kernel = np.array([[1,1,1],[1,-8,1],[1,1,1]])
dst = cv2.filter2D(src, -1, kernel)
응용
src = cv2.imread('circle.png')
# edge를 선명하게 함
dst0 = cv2.GaussianBlur(src, (5,5), 10,10)
# 잡음을 제거한다.
dst1 = cv2.medianBlur(dst0, ksize=11)
# edge만 남기기
kernel = np.array([[1,1,1],[1,-8,1],[1,1,1]])
dst = cv2.filter2D(src, -1, kernel)
dst2 = cv2.filter2D(dst1, -1, kernel)
sobel mask
목적: edge추출
장점: 노이즈에 강함
방법: 수직, 수평을 결합하여 추출
수직 마스크, 수평 마스크로 구분된다.
#수직 sobel_x
-1,0,1
-2,0,2
-1,0,1
#수평 sobel_y
1,2,1
0,0,0
-1,2,-1
src = cv2.imread('img.png')
sobel_x = cv2.Sobel(src, cv2.CV_64F, 1, 0, ksize=3)
sobel_y = cv2.Sobel(src, cv2.CV_64F, 0, 1, ksize=3)
sobel_x = cv2.convertScaleAbs(sobel_x)
sobel_y = cv2.convertScaleAbs(sobel_y)
img_sobel = cv2.addWeighted(sobel_x, 1, sobel_y, 1, 0)
laplacian
목적: edge를 찾는다.
ksize=-1 인 경우 아래와 같다.
0, 1, 0
1, -4, 1
0, 1, 0
src = cv2.imread('img.png', cv2.IMREAD_GRAYSCALE)
lap = cv2.Laplacian(src, cv2.CV_8U) # CV_8U를 변경하면서 봐야함
cv2.imshow('lap', lap)
Comments