Study

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - 이미지 경계선

17. 경계선 가장자리(Edge)는 가장 바깥 부분의 둘레를 의미하며, 객체의 테두리로 볼 수 있다. 이미지 상에서 가장자리는 전경과 배경이 구분되는 지점이며, 전경과 배경 사이에서 밝기가 큰 폭으로 변하는 지점이 객체의 가장자리가 된다. 때문에 가장자리는 픽셀의 밝기가 급격하게 변하는 부분으로 간주할 수 있다. 가장 유명한 경계선을 감지하는 방법으로 Canny Edge Detection이 있고, 이 외에도 Sobel, Laplacian 방법이 있다. 이와 같은 경계선을 찾는 방법들은 아래와 같은 여러 단계의 알고리즘을 통해 경계를 찾아낸다. 1. Noise Reduction 이미지의 Noise를 제거한다. 이때 5X5의 가우시안 필터를 사용한다. 2. Edge Gradient Detection 이미지에..

Study/SQL

[MySQL/ORACLE] 프로그래머스 - 3월에 태어난 여성 회원 목록 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음은 식당 리뷰 사이트의 회원 정보를 담은 MEMBER_PROFILE 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다. Column name Type Nullable MEMBER_ID VARCHAR(100) FALSE MEMBER_NAME VARCHAR(50) FALSE TLNO VARCHAR(50) TRUE GENDER..

Study/SQL

[MySQL/ORACLE] 프로그래머스 - 나이 정보가 없는 회원 수 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제설명 다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며, USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다. Column name Type Nullable USER_ID INTEGER FALSE GENDER TINYINT(1) TRUE AGE INTEGER TRUE JOINED DATE FALSE GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경..

Study/SQL

[MySQL/ORACLE] 프로그래머스 - 강원도에 위치한 생산공장 목록 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음은 식품공장의 정보를 담은 FOOD_FACTORY 테이블입니다. FOOD_FACTORY 테이블은 다음과 같으며 FACTORY_ID, FACTORY_NAME, ADDRESS, TLNO는 각각 공장 ID, 공장 이름, 주소, 전화번호를 의미합니다. COLUMN NAME TYPE NULLABLE FACTORY_ID VARCHAR(10) FALSE FACTORY_NAME VARCHAR(50) FALSE ADDRESS VARCHAR(100) FALSE TLNO VARCHAR(20) TRUE 문제 FOOD..

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - 모폴로지 변환(Opening & Closing)

참고 글 [Python] OpenCV를 이용한 이미지/영상 처리 - 모폴로지 변환(dilate, erode) 모폴로지 변환 (Morphological Transformation) Morphological Transformation은 이미지를 분할하여 단순화, 제거, 보정을 통해 형태를 파악하는 목적으로 사용한다. 일반적으로 binary나 grayscale image에 사용된다. seoyuun22.tistory.com 16. Opening & Closing Opening 열림 Opening은 erosion 후에 dilation을 적용한다. 열림을 적용하면 침식으로 인해 밝은 영역이 줄어들고 어두운 영역이 늘어난다. 여기서 줄어든 영역을 다시 복구하기 위해 팽창을 적용하면 반대로 어두운 영역이 줄어들고 밝은..

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - 모폴로지 변환(dilate, erode)

모폴로지 변환 (Morphological Transformation) Morphological Transformation은 이미지를 분할하여 단순화, 제거, 보정을 통해 형태를 파악하는 목적으로 사용한다. 일반적으로 binary나 grayscale image에 사용된다. 사용하는 방법으로는 Dilation(팽창)과 Erosion(침식), 그리고 이 두 개를 조합한 Opening과 Closing이 있다. 14. Dilation 팽창 이미지 팽창은 이미지를 확장하여 작은 구멍을 채우는 작업이다. 즉 어떤 흰색영역의 외곽 픽셀 주변에 흰색을 추가하여 어두운 영역을 줄이고 밝은 영역을 넓힌다. 따라서 팽창은 노이즈 제거 후 줄어든 크기를 복구하고자 할 때 주로 사용한다. 팽창의 과정을 확인하기 위해 그림판에서 ..

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - Adaptive Threshold, otsu algorithm Threshold

이전 글 [Python] OpenCV를 이용한 이미지/영상 처리 - 이진화(Binarization), TrackBar 참고 글 [Python] OpenCV를 이용한 이미지/영상 처리 - 동영상 및 카메라 출력 이전글 1. OpenCV를 이용한 이미지/영상 처리 - 이미지 출력 [Python] OpenCV를 이용한 이미지/영상 처리 - 이미지 출력 0. Open CV( seoyuun22.tistory.com 임계값 이전의 글에서 Trackbar를 이용해 임계값의 변화에 따라 변하는 이미지를 확인하는 과정에서 흑백처리를 했었다. 그렇다면 흑백처리 된 이미지에서 이진화할 때 흑과 백을 나누는 임계값은 무엇일까. 이를 알아보기 위해 아래와 같은 이미지를 준비한다. 위 이미지는 왼쪽에서 부터 차례대로 RGB값이 ..

Study/ML | DL

[Python] OpenCV를 이용한 이미지/영상 처리 - 이진화(Binarization), TrackBar

참고 글 [Python] OpenCV를 이용한 이미지/영상 처리 - 동영상 및 카메라 출력 이전글 1. OpenCV를 이용한 이미지/영상 처리 - 이미지 출력 [Python] OpenCV를 이용한 이미지/영상 처리 - 이미지 출력 0. Open CV(Computer Vision) 다양한 영상(이미지) / 동영상 처리에 사용되는 오픈소스 라 seoyuun22.tistory.com 13. 이진화(binarization) 이진화는 특정값을 기준으로 흰색과 검은색으로만 나누는 것이다.즉 흰색과 검은색만 가지는 바이너리(Binary) 이미지로 변형하는 과정을 이진화라고 한다. 먼저 이진화를 위해 이미지를 GRAYSCALE로 읽어온다. import cv2 img = cv2.imread("book.jpg", cv2...

Study/ML | DL

[Python] OpenCV를 이용한 반 자동 문서스캐너 구현하기2 - 반 자동 문서 스캐너 구현

이전 참고글 [Python] OpenCV를 이용한 반 자동 문서스캐너 구현하기1 - Mouse event Mini Project : 반 자동 문서 스캐너 구현하기 1. 마우스 이벤트 등록 이미지 변형 중에서 이미지의 특정 지점에 대한 좌표를 가져왔었다. 이 전까지는 그림판을 이용했다면 cv2의 다양한 마우스 이벤 seoyuun22.tistory.com 2. 반 자동 문서 스캐너 문서 스캐너를 구현하기 위해서 마우스 이벤트 정보를 저장하는 mouse_handler와 결과 이미지를 출력하는 show_resul라는 새로운 함수를 정의한다. Show result Show result는 이 전에 원근 이미지를 변형하는 과정을 함수로 나타낸 것이다. 다만 원 좌표는 mouse handler에서 리스트 형태로 받아오..

Study/ML | DL

[Python] OpenCV를 이용한 반 자동 문서스캐너 구현하기1 - Mouse event

Mini Project : 반 자동 문서 스캐너 구현하기 1. 마우스 이벤트 등록 이미지 변형 중에서 이미지의 특정 지점에 대한 좌표를 가져왔었다. 이 전까지는 그림판을 이용했다면 cv2의 다양한 마우스 이벤트의 종류를 이용해 좌표를 출력할 수 있다. cv2.EVENT_LBUTTONDOWN : 마우스 왼쪽 down cv2.EVENT_LBUTTONUP : 마우스 왼쪽 up cv2.EVENT_RBUTTONDOWN : 마우스 오른쪽 down cv2.EVENT_LBUTTONUP : 마우스 오른쪽 up cv2.EVENT_LBUTTONDBLCLK : 마우스 왼쪽 더블클릭 cv2.EVENT_RBUTTONDBLCLK : 마우스 오른쪽 더블 클릭 cv2.EVENT_MOUSEMOVE : 마우스 이동 이미지를 출력하기 전에..

truthyun
'Study' 카테고리의 글 목록 (3 Page)