본문 바로가기

프로그래밍7

OpenCV Persperctive 2 (마우스로 좌표 찍기) 이번에는 좌표를 수기로 적는 것이 아닌, 이미지를 보고 그 위에 원하는 곳을 클릭하여 그 클릭한 곳을 좌표로 설정하여 , 이미지를 확대해보려한다. 아래는 그 예제 코드이다. 먼저 마우스 관련 함수이다. 위의 함수를 이용하였다. 코드 예제 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 32 33 34 35 36 37 import cv2 import numpy as np from utils import get_four_points img_src = cv2.imread('data/images/book1.jpg') # 결과물 이미지 사이즈 dst_size = (400, 300, 3) # 결과의 이미지를 넣을 .. 2021. 4. 26.
OpenCV AffineTransform, homography(perspective)Transform AffinTransform 은 선의 평행은 유지되면서 이미지를 변환한다. 이동, 확대, 반전의 변환까지 포함하며 , 3개의 매치되는 점이 필요하다. ( 원본이미지의 3개의 점과 , 변화된 이미지의 3개의 점으로 변환 행렬을 구하고 이미지를 변환시킨다 ) 변환행렬 구하는 예제 각기 다른 두개의 세점좌표를 만들고 , cv2.getAffineTransform함수에 적용하였다. cv2.getAffineTransform 함수는 두개의 좌표로 변환행렬을 구해준다. AffineTransform 코드예제 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 import cv2 import numpy as np ## Affine Tra.. 2021. 4. 23.
OpenCV threshold, 이미지형태 변환(dilate,erode, opening, closing) threshold 함수는 이미지를 이진화할 때 사용한다. 이미지의 이진화란, 이미지를 흑과백으로 나누는것을 뜻하고, 흑과백으로 나눌때 우리가 원하는 기준치(임계값)을 설정해서, 임계값보다 크면 백으로, 임계값보다 작으면 , 흑으로 바꾸고 그 결과값을 보여주는 것이 threshold 함수이다. ( 이미지를 불러올때 Gray Scale 로 불러와야 한다 ) threshold 코드 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import cv2 src = cv2.imread('data/images/threshold.png', 0 ) #구분하기 위한 값 설정 ( 임계값 ) threshold = 0 # 0 은 검정색 maxValue = 255 cv2.imshow('o.. 2021. 4. 22.
728x90