본문 바로가기
반응형

Python216

OpenCV - Image Warpping 인공위성에서 받은 이미지 객체나다른 우주계획의 일원으로부터 보내져 온 일그러진 영상을 올바르게 만드는 데 사용하는 것이 바로 Image Warpping 이다. 고도가 너무 높아 이미지가 일그러지는 경우가 있기 때문에 이를 올바르게 만들기 위한 기술이다. Image Warpping은 sin 함수와 cos 함수를 통해 일그러진 것을 정상적인 이미지로 돌린다. - Vertical Wave import cv2 import numpy as np import math img = cv2.imread('img/input.jpg',cv2.IMREAD_GRAYSCALE) rows,cols = img.shape # vertical wave img_output = np.zeros(img.shape,dtype = img.dty.. 2020. 10. 11.
OpenCV - 어파인 변환 및 투상 변환 어파인 변환이란 영상을 구성하는 픽셀의 배치 구조를 변경함으로써 평행 이동, 확대 및 축소, 회전 등 전체 영상의 모양을 바꾸는 기하학적 변환이라고 정의한다. 왼쪽의 그림은 Affine Matrix이다. 이를 적용하기 위해선 이미지의 3가지의 점을 알아야한다.(a,b,c) 일단 코드로 설명을 하겠다. img = cv2.imread('img/input.jpg') rows,cols = img.shape[:2] src_points = np.float32([[0,0],[cols-1,0],[0,rows-1]]) # source points dst_points = np.float32([[0,0],[int(0.6*(cols-1)),0],[int(0.4*(cols-1)),rows-1]]) # destination po.. 2020. 10. 10.
OpenCV - 이미지 사이즈 변환 및 보간법 이미지의 사이즈를 변환하는 경우가 있다. 사이즈를 변환하는 방법은 cv2 resize를 통해 변환을 할 수 있다. img = cv2.imread('img/input.jpg') img_scaled = cv2.resize(img,None,fx=1.2,fy=1.2,interpolation=cv2.INTER_LINEAR) # fx: 가로 사이즈의 배수 cv2.imshow('Scaling - Linear Interpolation',img_scaled) img_scaled2 = cv2.resize(img,None,fx=1.2,fy=1.2,interpolation = cv2.INTER_CUBIC) cv2.imshow('Scaling - Cubic Interpolation',img_scaled2) img_scaled3.. 2020. 10. 10.
OpenCV - 이미지의 이동 및 회전 cv2를 통한 이미지의 이동은 행렬식으로 표현이 된다. 아주 기본적인 원리만 설명하겠다. 이는 translation matrix이다. tx와 ty의 값을 이용하여 이동을 한다. 행렬곱을 모르는 사람을 위해 그냥 결과만 끄적여본다면 x' = (1*x)+0*y+t_x*1 = t_x+x이다. 기본적으로 알 것이라 생각한다. 코드를 통해 이미지 이동을 알아보겠다. img = cv2.imread('img/input.jpg') num_rows,num_cols = img.shape[:2] translation_matrix = np.float32([[1,0,70],[0,1,110]]) img_translation = cv2.warpAffine(img,translation_matrix,(num_cols,num_rows).. 2020. 10. 10.
baekjoon - python - 10815 www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 리스트에서 탐색하는 것 보다 딕셔너리 키 탐색이 더 빠르다. # @Author YoungMinKim # baekjoon import sys a= int(sys.stdin.readline()) X = list(map(int,sys.stdin.readline().split())) b = int(sys.stdin.readline()) Y = list(map(int,sys.stdin.re.. 2020. 10. 10.
baekjoon - python - 10867 www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net # @Author YoungMinKim # baekjoon import sys N = int(sys.stdin.readline()) X = list(map(int,sys.stdin.readline().split())) unique = list(set(X)) for i in sorted(unique): print(i,end=' ') partners.coupang.com/#affiliate/ws 2020. 10. 10.
반응형