분류 전체보기 143

[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 : ..

티스토리 스킨#2 수정해서 사용하기

사이드 배경사진 수정방법 스킨 편집 > 추가 설정 > 기본 커버이미지 삭제 후 아래와 같이 진행 https://wonderbout.tistory.com/33 티스토리 #2스킨 사이드바 배경 이미지 변경 지금 현재 #2 스킨도 옵션을 이용해 이미지를 변경 할 수 있도록 수정 되었네요! 아래내용은 기록으로 남겨 놓겠습니다. 티스토리 사용자 중에서 #2스킨을 사용하시는 분들이 많이 있습니다. 같�� wonderbout.tistory.com 코드블럭 스타일 (하이라이트, 라인넘버) 수정방법 기존에 Syntax Highlight 플러그인을 적용 중이었다면 해제를 한 후 아래와 같이 진행 https://sangulog.tistory.com/23 티스토리 코드 블럭 꾸미기 , 라인 넘버 표시하기 글을 쓰다가 코드를 ..

FYI 2020.09.03

[C++] 10996 별 찍기 - 21

규칙은 N개로 이루어진 일정의 패턴을 N번 반복한다는 것이다. 그래서 출력되는 총 별의 갯수는 N*N개다. 패턴은 N이 짝수일 때와 홀수일 때, 두 가지로 나눠지는데 짝수일 때는 첫번째 줄에 N/2개, 그 다음 줄에 한 칸 띄고 N/2개를 출력하는 게 한 세트이다. 이 세트를 똑같이 N번 반복해서 출력한다. 홀수일 때에는 첫째 줄에 N/2+1개, 그 다음 줄에 한 칸 띄고 N/2개를 출력하는 게 한 세트. 홀수도 마찬가지로 세트를 N번 반복 출력한다. #include using namespace std; void PrintStars(int N) { if (N % 2 == 1) { for (int i = 0; i < N; i++) { for (int stars1 = 0; stars1 < N / 2 + 1;..

Training/BOJ 2020.08.10

[C++] 2446 별 찍기 - 9

아무리 봐도 맞았는데 자꾸 출력 형식이 잘못되었다고 하길래 검색해봤다. 나와 같은 문제를 겪은 사람이 있었다. omg ㅋㅋ... 아무튼 출력형식 말고도 애초에 코드 짜면서 좀 애먹었던 문제. ********* ******* ***** *** * *** ***** ******* ********* N*N 크기의 정사각형이 있다고 가정. 각 줄마다 조건에 맞게 앞뒤로 *을 뺀 만큼 그 자리를 공백으로 채워주는 방식으로 처리했다. 물론 뒤쪽에도 열심히 공백을 채워줘서 결국 문제가 발생했지만. 아무튼 조건에 맞게 앞쪽에만 공백 채우고, 별 출력해주면 끝. 별 하나만 찍히는 중간지점을 기준으로 두 영역으로 나눠서 계산했다. #include using namespace std; int main() { int N; c..

Training/BOJ 2020.08.10

[C++] 10809 알파벳 찾기

코드 짤 때부터 이렇게 하는게 맞나 싶어서 제출 한 다음에 다른 사람들이 쓴 코드를 찾아봤는데 역시 쉬운 방법이 있었다. STL 함수는 많이 써보고 많이 외워두자. 처음에 제출한 코드 #include #include using namespace std; void Location(string x) { int* loc = new int[26]; for (int i = 0; i < 26; i++) loc[i] = -1; for (int j = 0; j < x.length(); j++) { char ch = x[j]; //cout S; int* loc = new int[26]; for (int i = 0; i < 26; i++) loc[i] = -1; int c = 97; for (int j = 0; j < 2..

Training/BOJ 2020.08.10

[C++] 2869 달팽이는 올라가고 싶다

먼저 가장 확실한 것부터 처리하고 시작한다. 정상에 올라가기 전까지, 하루에 A-B 만큼 꾸준히 올라가는 그 시기를 먼저 계산한다. (V-A)/(A-B) 를 계산한 몫이 하루동안 A-B 만큼 올라간 기간의 일수다. days = (V - A) / (A - B) 라고 한다면, 이제 남은 거리는 V - days * (A - B) 만큼이 될 것이다. left_distance = V - days * (A - B) 라고 하자. 여기서 두 가지의 경우로 나뉜다. 한 가지는 남은 거리가 A보다 작거나 같은 경우, 두번째는 남은 거리가 A보다 큰 경우. 첫번째 경우는 자명하게도 days 에서 하루만 더 추가해주면 된다. (정상에 오른 후에는 미끄러지는 경우를 고려하지 않으므로) 두번째 경우, 남은 거리는 A보다 크지만 ..

Training/BOJ 2020.08.08

[C++] 11주차 과제7

이원탐색트리를 구현한다. 임의의 정수 리스트를 입력받아 이원탐색트리에 저장한다. 이원탐색트리는 연결리스트를 사용하여 구현한다. 이원탐색트리를 중위순회하여 정렬된 순서로 출력한다. 입력물: 정수리스트 출력물: 입력한 정수리스트의 정렬된 결과 (출력 결과물). * 프로그램 내용 외에 다른 내용이 출력된다면 감점이 될 수 있으니 유의바람. Code #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #define N 1000 using namespace std; template class Tree; // 전방선언 template class TreeNode { friend class Tree; private: T data; TreeNode* ..

[C++] 9주차 과제6

과제 4 다항식 입력, 출력, 계산하는 프로그램을 연결리스트로 구현한다. (리스트 반복자 반드시 사용) 다항식은 객체(class)로 생성해야 하며, 다항식 연산을 위하여 연산자 오버로딩 기능을 이용한다. 다항식 a, b, c를 입력받아 문제에 주어진 연산을 수행한다.(다양한 입력 예를 테스트하는 것을 추천함) 다항식 입력은 (계수, 지수) 표현 형태를 이용한다. 다항식의 출력 형식은 첨부파일과 같은 형식을 따른다. 첨부파일의 프로그램 코드를 실행한다. 헤드노드를 갖는 원형연결리스트로 구현한다.(리스트 반복자 반드시 사용) 문자열 입력으로 .이 입력될 때까지 재입력을 받도록 한다. 헤더와 메인 파일은 분리하지 않고 한 개의 cpp파일을 제출한다. 입력값을 반복적으로 받을 수 있게 하고, .(마침표)를 입력..

[C++] 7주차 과제5

간단한 수식을 입력 받아서 계산을 해주는 계산기 프로그램을 작성한다. 반드시 Template 클래스와 스택을 사용하여 구현한다. 자세한 내용은 첨부한 pdf 파일을 참조하여 작성한다. #문자열 입력으로 .이 입력될 때까지 재입력을 받도록 한다. #헤더와 메인 파일은 분리하지 않고 한 개의 cpp파일을 제출한다. #입력값을 반복적으로 받을 수 있게 하고, .(마침표)를 입력하면 프로그램을 종료하도록 한다. 입력: 중위표기식 수식인 문자열 출력: 수식 계산 결과값, 입력 수식의 후위표기식 Code #include #include #include using namespace std; template class Stack { public: Stack(int stackCapacity = 10); bool IsEm..

[C++] 5주차 과제4

다항식을 입력, 출력, 계산하는 프로그램을 구현한다. 다항식은 객체(class)로 생성해야 하며, 다항식 연산을 위하여 연산자 오버로딩 기능을 이용한다. 다항식 a, b, c를 입력받아 문제에 주어진 연산을 수행한다.(다양한 입력 예를 테스트하는 것을 추천함) 다항식 입력은 (계수, 지수) 표현 형태를 이용한다. 다항식의 출력 형식은 첨부파일과 같은 형식을 따른다. 첨부파일의 프로그램 코드를 실행한다. 입력물: 다항식 a, b, c, 정수 x 출력물: 첨부파일의 프로그램 코드를 실행한 결과물(출력 결과물). * 연산자 오버로딩을 구현해야함. * 프로그램 내용 외에 다른 내용이 출력된다면 감점이 될 수 있으니 유의바람. 입력은 0~9까지로 음수 예외처리는 하지 않으셔도 됩니다. Code #include #..

반응형