틀릴 수 있음 주의
01
(1)
3 | 2 | 5 |
2 | 0 | 2 |
3 | 2 | 3 |
C=2
(2)
0 | 3 | 5 |
2 | 0 | 3 |
3 | 2 | 0 |
C=2
02
03
import cv2 as cv
img=cv.imread("../source/pooh.jpg")
gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
for i in range(0,10):
num=2**i
#make keypoint
sift=cv.SIFT_create(nfeatures=num)
kp,des=sift.detectAndCompute(gray,None)
#draw keypoint
gray=cv.drawKeypoints(gray,kp,None,flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv.imshow('sift'+f'{num}',gray)
k=cv.waitKey()
cv.destroyAllWindows()
04
05
06
import cv2 as cv
import numpy as np
img=cv.imread("../source/puppy.png")
gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
height=img.shape[0]
width=img.shape[1]
k=2**(1/3)
sigma=1.6
gaussian1 = cv.GaussianBlur(gray, (5, 5), sigma)
for i in range(0,5):
sigma=sigma*k
gaussian2 = gaussian1
gaussian1 = cv.GaussianBlur(gray, (5, 5), sigma)
DoG = np.zeros_like(gray)
for i in range(height):
for j in range(width):
DoG[i][j] = float(gaussian1[i][j]) - float(gaussian2[i][j])
cv.imshow("puppy"+f'{sigma}',DoG)
k=cv.waitKey()
cv.destroyAllWindows()
07
t와 e를 늘린다
08
import cv2 as cv
import numpy as np
img=cv.imread("../source/puppy.png")
gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
height=img.shape[0]
width=img.shape[1]
k=2**(1/3)
sigma=1.6
gaussian1 = cv.GaussianBlur(gray, (5, 5), sigma)
for i in range(0,5):
sigma=sigma*k
gaussian2 = gaussian1
gaussian1 = cv.GaussianBlur(gray, (5, 5), sigma)
DoG = np.zeros_like(gray)
for i in range(height):
for j in range(width):
DoG[i][j] = float(gaussian1[i][j]) - float(gaussian2[i][j])
cv.imshow("puppy"+f'{sigma}',DoG)
k=cv.waitKey()
cv.destroyAllWindows()
특징점 개수 = 149 420
'개발 > AI' 카테고리의 다른 글
[Pytorch] 08. 합성곱 신경망 (0) | 2024.08.06 |
---|---|
[Pytorch] 07. 순환 신경망(RNN) (0) | 2024.08.05 |
[OpenCV] 컴퓨터 비전과 딥러닝 / Ch04 / 연습 문제 (0) | 2024.08.03 |
[Pytorch] 06. 인공 신경망 (1) | 2024.08.02 |
[Pytorch] 05. 소프트맥스 회귀 (0) | 2024.07.30 |