본문 바로가기

programming/SW Academy

20200515 과제2

해봐야할것

-Visual C++, OpenCV 3장까지 모든 프로그램(mfc style)

-4.2 다양한 그리기 함수 (p143), Mat img(500,800,CV8VC1); rectangle -> 4.장 함수로 그려보기, imshow()

-경로 날리고 파일명. 또는 확장명

-LPCSTR lpszPathName 알아보기

-CT2A 알아보기, imshow

-내가 쓴 코드 줄이기, 실행속도 최대한 빠르게 하도록

 

 

1. 경로 날리고 파일명

먼저 OpenCV의 String 과 C++의 string 클래스는 동일하다. 충돌 문제로 인해 opencv에서 String으로 재정의 한 것이다.

따라서 C++의 string 클래스에 참고자료이다.

  • strstr : 문자열에서 원하는 부분 문자열을 리턴한다.
  • strchr : 문자열에서 특정 문자의 위치를 찾는다.
  • rfind : 문자열에서 특정 문자열이 마지막으로 나타나는 위치를 찾는다.
  • find_first_of : 주어진 문자들 중 가장 먼저 나타나는 문자의 위치를 찾는다.
  • find_first_not_of : 주어진 문자가 아닌 문자가 가장 먼저 나타나는 문자의 위치를 찾는다.
  • find_last_of : 주어진 문자들 중 가장 끝에 나타나는 문자의 위치를 찾는다.
  • find_last_not_of : 뒤에서 부터 주어진 문자에 포함되지 않는 문자의 위치를 찾는다.
  • search : 특정 범위의 원소를 찾는다.

find_last_of로 인덱스를 찾고, substr으로 문자열을 잘라낸다.

find 함수는 문자열에서 특정 문자나 문자열을 발견하면 첫 번째 인덱스를 리턴한다. 발견하지 못하면 -1을 리턴.

 

다음과 같이 해결하였음.

//파일명 추출-
int pos = (int)filename.find_last_of("\\"); //경로짜르기
filename = filename.substr(pos + 1);
pos = (int)filename.find_last_of("."); //확장자 자르기
filename = filename.substr(0, pos);

 

 

2. 4.2 다양한 그리기 함수 (p143), Mat img(500,800,CV8VC1); rectangle -> 4.장 함수로 그려봐라, imshow()

 

2-1.별 100개 그리기, OpenCV Library 사용하기

-문제사항

-랜덤색상이 들어가지 않았음. -> Scalar는 bgr 순서로 들어감, RGB순이 아니었음.

-윈도우 크기에 맞게 도형그리기 ->해결하지 못함.

 

2-2. 그리기 함수 사용하여 그림 그리기

 

 

'programming > SW Academy' 카테고리의 다른 글

u c os 2 ::개념  (0) 2020.08.26
ocr training::file IO  (0) 2020.07.31
MFC::dialog  (0) 2020.07.09
Fourier Transform  (0) 2020.06.25
Visual C++  (0) 2020.05.19