Schoolwork/컴퓨터그래픽스 및 비젼 8

[Python] 특징 기술자 및 매칭 (Term Project)

프로젝트 설명 ▶ 목적 특징 기술자와 특징기술자의 매칭에 기반한 인식, 추적을 구현한다. ▶ 내용 1. 특징 기술자의 추출을 구현한다. SIFT, SURF 및 강의에서 언급되지 않은 특징 기술자를 사용할 수 있음. 2. 특징 기술자의 매칭을 구현한다. 3. 매칭을 기반으로 인식을 구현한다. 4. 물체인식을 이용하여 물체 추적을 구현한다. 5. 세 가지 종류 이상의 모델 객체 들이 포함된 정지영상(Query image) A. 각 종류에 대하여 하나 또는 복수의 모델을 사용할 수 있음. B. 물체는 캐릭터, 로고, 책표지 등 제한 없음. 6. 모델과 이외 방해 객체들이 움직이는 검색 동영상. A. 2분 이상의 길이 B. 카메라의 줌, 방향은 고정됨. C. 모델 객체 들은 회전(2D 회전-프레임 평면에 수직한..

[Python] 09주차 과제 - 영역 검출을 위한 영상 전처리 (명함 인식)

● 목표 - 명함영상에서 명함영역을 검출하고 영역을 직사각형의 정상의 상태로 변환 ● 세부목표: - 명함영역의 각 변의 선분을 검출하고 - 이 선분들을 이용하여 명함의 네 꼭지점의 좌표를 계산한 후 - 꼭지점의 좌표를 이용하여 명함영역을 직사각형의 정상으로 변환한다. ● 기타: - 주어진 두 장의 영상을 차례로 처리하는 하나의 프로그램으로 작성하세요. - 필요한 경우 각 단계에서 *적절한* 최적화가 필요합니다. 여러분의 최적화 노력을 PPT에 간략하게 설명하기 바랍니다. - 기타 세부적인 사항은 합리적으로 가정하시기 바랍니다. - 예를 들어 명함이 영상에 *적절한* 크기 및 방향으로 나타나 있고 명함의 상단이 수평선을 기준으로 좌우 30도 이내로만 회전 되어있다. - 입력영상에 대하여 처리에 도움이 될 ..

[Python] 07주차 과제 - 번호 인식을 위한 전처리(이진화)

● 목표 - 번호 인식을 위한 전처리로써 자동차 번호판 영상에 대한 이진화 처리 ● 세부목표: - 이 과제에서는 자동차 번호판을 정상의 형태로 변형한 후 - 이진화 하고 - 모폴로지 연산을 이용하여 스무싱 한다. ● 기타: - 주요한 과정에 대하여 module 함수를 사용해도 무방합니다. - 필요한 경우 각 단계에서 *적절한* 최적화 가 필요합니다. 여러분의 최적화 노력을 PPT에 간략하게 설명하기 바랍니다. - 기타 세부적인 사항은 합리적으로 가정하시기 바랍니다. ● 과제의 내용 1. 번호판 영상을 준비한다. A. 정상이 아닌 비스듬히 촬영한다. 2. 번호판 영상을 정상으로 변환한다. A. 이전 과제의 코드를 이용하여 투영변환 B. 영상의 크기는 번호판 보다 가로 세로가 10% 더 크게 되도록 조정할 ..

[Python] 06주차 과제 - Perspective transform

● 목적: - 이 과제에서는 자동차 번호판을 정상의 형태로 변형하여 보여준다. ● 기타: - 주요한 과정에 대하여 opencv, numpy 등 package 함수를 사용해도 무방합니다. - 필요한 경우 각 단계에서 *적절한* 최적화 가 필요합니다. 여러분의 최적화 노력을 PPT에 간략하게 설명하기 바랍니다. - 기타 세부적인 사항은 합리적으로 가정하시기 바랍니다. - 영상에 대하여 적절한 해상도를 선택하세요. 고해상도일수록 처리 속도가 느려집니다. - 이 프로그램은 여러분이 최적화한 파라미터값으로 진행되는 것을 원칙으로 합니다. ● 과제의 내용 1. 아래 그림과 같이 첨부된 자동차 번호판 이미지(영상 A)를 정상의 상태(영상 B)로 변환하여 디스플레이하는 프로그램을 작성하라. A. 프로그램에서 주요 단계..

[Python] 05주차 과제 - Canny Edge 검출

● 목적: - 이 과제에서는 웹캠의 live 입력 영상에 대하여 에지 검출을 실행하여 결과를 보여준다. ● 기타: - 주요한 과정에 대하여 opencv, numpy 등 package 함수를 사용해도 무방합니다. - 필요한 경우 각 단계에서 *적절한* 최적화 가 필요합니다. 여러분의 최적화 노력을 PPT 에 간략하게 설명하기 바랍니다. - 기타 세부적인 사항은 합리적으로 가정하시기 바랍니다. - OpenCV 에서는 여러 대의 카메라를 동시에 사용할 수 있습니다. 단, 0번 카메라로부터 영상을 live feed 받는 것을 원칙으로 합니다. - 영상에 대하여 적절한 해상도를 선택하세요. 고해상도일수록 처리 속도가 느려집니다. - 이 프로그램은 여러분이 최적화한 파라미터값으로 진행되는 것을 원칙으로 합니다. ●..

[Python] 04주차 과제 - 웹캠영상에서 얼굴 검출

● 목적: - 이 과제에서는 웹캠의 live 입력 영상에 대하여 얼굴 검출을 실행하여 결과를 보여준다. ● 과제의 내용: A. 03주차의 얼굴 검출 프로그램을 활용하여 웹캠으로 live feed 받는 영상에서 사람의 얼굴 또는 피부만을 검출한 영상을 연속적으로 보여준다. B. 카메라 입력 영상에 대하여 먼저 가우시안 필터(가우시안 스무싱)을 적용한 후 다음과정을 진행하기 바랍니다. C. 출력은 다음과 같이 나타나도록 한다. 또는 두 영상을 별도의 윈도우에 각각 디스플레이해도 된다. 윈도우 웹캠으로 부터의 live feed 를 연속적으로 디스플레이 함 왼쪽 영상에 대한 얼굴 검출 결과 : 얼굴, 피부 영역만 원래 색으로 표시하고 나머지 영역은 검정색으로 처리 ● 기타: - 주요한 과정에 대하여 opencv..

[Python] 03주차 과제 - 히스토그램 역투영과 오츄의 이진화를 이용한 얼굴 검출

● 목적: - 이 과제에서는 영상에 히스토그램 역투영 방법을 적용하여 얼굴 영역을 검출한다. ● 참고 자료 - 아래 예제 및 소스코드 참조 바랍니다. 1. 오츄 자동 threshold https://opencv-python.readthedocs.io/en/latest/doc/09.imageThresholding/imageThresholding.html 2. 2d histogram https://opencv-python.readthedocs.io/en/latest/doc/21.image2DHistogram/image2DHistogram.html 3. 히스토그램 역투영 https://webnautes.tistory.com/1275 ● 주의할 점 - numpy package 사용시 배열의 가감승제등의 연산에서..

[Python] 02주차 과제 - 영상에 이름 써넣기

아래 순서 대로 동작하는 파이썬 프로그램을 작성하라. 입력 영상의 파일명을 키보드로 입력받는다. space bar 를 누르면 입력 영상을 파일로 부터 읽어 들인다. space bar 를 누르면 입력 영상을 화면에 디스플레이한다. space bar 를 누르면 디스플레이된 영상을 닫는다. space bar 를 누르면 입력영상의 중앙 위치에 자신의 이름(영문 또는 국문)이 표시된 결과 영상을 디스플레이 한다. space bar 를 누르면 결과영상을 저장할 파일 명을 입력받는다. space bar 를 누르면 결과영상을 파일에 저장한다. 종료 과제내용 Code import cv2 as cv import keyboard get_image = input("Input image file name to import : ..

반응형