OpenCV 이미지 변형 [ Python 데이터 분석과 이미지 처리 ] (Image Transformation)
·
opencv
이미지의 변형을 가하게 되면 이미지에 변화가 오게 된다. 예를 들어 이미지의 크기를 일부러 크게 만드는 과정을 진행해보자 이과정을 거치게 되면서 이미지는 커지게 되는데 이미지의 색상에는 생각보다. 크게 변하지 않는다? 이 과정에서 보간법이 들어가게 된다. https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ceoyangsj&logNo=100169531489 보간법 (Interpolation) 보간법 (Interpolation) 개념, 종류, 특징 (간략) 출처는 네이버 백과사전, 인터넷에 올려진 블로그, 카페... blog.naver.com opencv 에서 사진 크기의 조절은 resize를 많이 사용하는데 cv2.resize(imag..
OpenCV 이미지 연산 [ Python 데이터 분석과 이미지 처리 ]
·
opencv
import cv2 image = cv2.imread('cat.jpg') # 픽셀 수 및 이미지 크기 확인 print(image.shape) print(image.size) # 이미지 Numpy 객체의 특정 픽셀을 가리킵니다. px = image[100, 100] # B, G, R 순서로 출력됩니다. # (단, Gray Scale인 경우에는 B, G, R로 구분되지 않습니다.) print(px) # R 값만 출력하기 print(px[2]) (448, 680, 3) 913920 [ 86 121 161] 161 import cv2 import matplotlib.pyplot as plt import time image = cv2.imread('cat.jpg') start_time = time.time() #..
opencv의 기본
·
opencv
import cv2 img_basic = cv2.imread("cat.jpg",cv2.IMREAD_COLOR) cv2.imshow('img',img_basic) cv2.waitKey(0) cv2.imwrite('result.png',img_basic) cv2.destroyAllWindows() img_gray =cv2.cvtColor(img_basic,cv2.COLOR_BGR2GRAY) cv2.imshow('gray',img_gray) cv2.waitKey(0) 이건 진짜기본이다 오랜만에 하니 약간 낯설기는하다.. 이미지를 그레이 스케일을 만드는 과정과 저장하기 화면 띄우기 그리고 waitkey(0) 이면 계속 떠있다. cv2.imread(file_name, flag) 이미지를 읽어 Numpy 객체로 만..
Numpy의 활용
·
opencv
Numpy의 저장과 불러오기 Python의 Numpy는 저장 및 불러오기가 가능합니다. import numpy as np # 단일 객체 저장 및 불러오기 array = np.arange(0, 10) np.save('saved.npy', array) result = np.load('saved.npy') print(result) [0 1 2 3 4 5 6 7 8 9] Numpy의 저장과 불러오기 여러 개의 Numpy의 객체를 하나의 파일에 저장하고 불러올 수 있습니다. import numpy as np # 복수 객체 저장 및 불러오기 array1 = np.arange(0, 10) array2 = np.arange(10, 20) np.savez('saved.npz', array1=array1, array2=a..
Numpy의 연산과 함수
·
opencv
Numpy의 기본 연산 - Numpy는 배열에 대한 기본적인 사칙연산을 지원한다. 1. 더하기 2. 곱하기 이런식으로 사용된다. import numpy as np array = np.random.randint(1,10,size =4).reshape(2,2) print(array) result_array = array * 10 print(result_array) [[3 9] [8 9]] [[30 90] [80 90]] 서로 다른 형태의 연산 -Numpy는 서로 다른 형태의 배열을 연산할 때는 행 우선으로 수행됩니다. array1 = np.arange(4).reshape(2,2) array2 = np.arange(2) array3 = array1+array2 print(array3) [[0 2] [2 4]]..
행렬의 필요성
·
opencv
행렬의 필요성 - 현실 세계의 많은 문제는 행렬을 이용해 해결할 수 있습니다. - 행렬로 해결할 수 없다면, 해결하기 매우 어려운 문제일 수 있습니다. 행렬은 어디에 쓰일까? - 컴퓨터의 메모리 구조는 행렬 형태로 표현이 가능합니다. - 표 형태의 데이터는 행렬로 표현될 수 있습니다. - 이미지는 행렬로 표현될 수 있습니다. -이미지는 내부적으로 어떻게 표현될까요
numpy 의 기본적인 사용법
·
opencv
numpy란 ? -numpy는 다차원 배열을 효과적으로 처리할수 있도록 도와주는 도구 - 현실 세계의 다양한 데이터는 배열 형태로 표현할 수 있습니다. - python의 기본 list 에 비해 빠르고 강력한 기능을 제공합니다. numpy 의 차원 - 1차원 축(행) : axis 0 => Vector - 2차원 축(열) : axis 1 => Matrix 행렬 - 3차원 축(채널) : axis 2 => Tensor (3차원 이상) numpy 기초 import numpy as np list_data = [1,2,3] array =np.array(list_data) print(array) print(array.size) print(array.dtype) print(array[2]) [1 2 3] 3 int32 ..
Region of Interest, ROI
·
opencv
bkshin.tistory.com/entry/OpenCV-6-dd OpenCV - 6. 이미지 내 관심영역(Region of Interest, ROI) 표시 이번 포스팅에서는 이미지 내에서 관심 영역(Region of Interest, ROI)을 표시하는 방법에 대해 알아보겠습니다. 이번 포스팅 역시 '파이썬으로 만드는 OpenCV 프로젝트(이세우 저)'를 정리한 것임을 밝 bkshin.tistory.com 관심 영역(ROI)이란 말 그대로 영상 내에서 관심이 있는 영역을 뜻합니다. 아래는 일몰 사진입니다. 일몰 사진 내에서 원하는 영역을 표시하는 방법에 대해 살펴보겠습니다. import cv2 import numpy as np img = cv2.imread('./img/sunset.jpg') x=320..