일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- GitHub
- Python
- pycharm
- SciPy
- keras
- Button
- DFS
- 삼성소프트웨어멤버십
- javascript
- mariadb
- Splunk
- install
- dataframe
- LSTM
- Lotto
- SPL
- Numpy
- GT-S80
- pip
- RNN
- mean
- Series
- CNN
- index
- imread
- E-P1
- 알고리즘
- ipad
- pandas
- synology
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)