본문 바로가기

PYTHON5

OpenCV HSV 변경 HSV 는 Hue , 색상 Saturation 채도 Value (Brightness) 명도 를 뜻한다. OpenCV를 통하여 간단하게 HSV 변경이 가능하다. 먼저 원본 이미지를 cv2.cvtColor 함수를 통하여 BGR2HSV 로 변환. 이미지 변환을 위하여 float32로 변환을 해준뒤에 작업한다. 그 후에는 cv2.split 함수를 통하여 , 이미지를 hue, saturation, value , 3개의 채널로 손쉽게 나눌수 있다. 3개 채널의 값은 넘파이로, 0부터 255까지의 값만을 갖는다. 여기서 각 채널의 값을 넘파이 연산을 통하여 조절할 수 있다. 후에 3개의 채널을 다시 cv2.merge 함수를 통하여 합치고, uint8로 변경후에 이미지를 다시 불러오면 변경완료!!! 코드예제 1 2 3.. 2021. 5. 25.
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.
Streamlit EC2 연결하기. 완성된 Streamlit 을 EC2로 배포하는 것을 해보려고 한다. 아마존의 EC2 서버를 이용하여 배포해 보겠다. 먼저 AWS 로그인을 한 뒤에 EC2 메뉴로 가서 , 지역을 서울로 바꿔준후에 인스턴스 시작을 누른다. ( 여기까지는 해 놓아서 사진이 없다... ) 프리티어로 하기 때문에 서버는 하나가 있어야하고 , 기존에 있다면 종료 후 해야한다. 인스턴스 등록시에 , 키페어를 새로 발급받아 파일로 다운로드하여 잘 가지고 있어야 추후에도 서버사용이 가능하다. ( .pem 으로 만들어진다.) 서버를 만들면 이런 화면이 나온다. 여기 인스턴스 ID를 들어가면 자신이 쓸수 있는 퍼블릭 주소가 나오는데 여기에 쓰여있는 주소로 나의 Streamlit이 배포가 되는 것이다. 윈도우기 때문에 파워셀을 이용하여 서버.. 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.
728x90