QT/VS based QT

OpenCV 이미지를 QT로 출력하기 ( C++)

kahuz 2020. 7. 23. 10:52

본 포스팅은 프로젝트 QILT를 진행하며 알게 된 소소한 팁을 기록하기 위한 포스팅입니다.

 

- Visual Studio 환경에서 QT와 OpenCV를 이용하여 비디오 스트리밍을 하는 방법에 대해 포스팅하고자 한다.

- 진행 흐름은 QT Designer를 이용하여 ui component를 생성한 뒤 main class에서 opencv를 통해 비디오 파일을 받아와 QT ui에 전달하는 방식이다.

- 프로젝트 전체 코드는 맨 아래에 첨부하였다.

 

 

 - 아래는 VS에서 QT Designer를 실행한 뒤 ui를 배치하고, VS에서 해당 ui를 호출하는 과정이다

 

1. 프로젝트에서 ui designer 실행. 리소스 파일에서 .ui 파일을 더블클릭하면 된다
2. 실행된 QT Designer. 최초 상태를 담은 사진이다
3. 이미지 전달을 위해 Label 컴포넌트를 배치해준 모습.

- 3 사진과 같이 display widget인 label을 배치하고 나면 객체 탐색기에 label이 생성된 것을 확인할 수 있다

- Label에 대한 속성을 수정하기 위해서는 속성 편집기의 QLabel부분의 내용을 수정하면 된다.

 

4. Label 속성을 편집한 모습

- 4 그림과 같이 속성을 편집해주고 객체탐색기에서 Label의 이름을 소스코드에서 접근하기 쉽게 바꿔주도록 하자.

- 글쓴이는 label을 main_label로 변경하였다

- 위 과정을 마친 후 QT Designer 파일 내용을 저장 ctl+s 해주고 프로젝트로 돌아와 실행을 한번 해주도록 하자.

 

5. UI Component를 접근하기 위한 과정 설명 그림

- QT프로젝트를 생성하면 초기에 위와 같이 헤더파일에 UI와 관련된 부분이 생성되어있다.

- 여기서 UI를 ctl + mouse L button 으로 접근해보자

 

6. ui resource header 내용

- 5번 사진과 같이 접근하면 현재 클래스의 ui와 관련된 헤더에 접근할 수 있게 되고, QT Designer를 통해 생성한 main_label이 자동으로 헤더에 생성된 것을 알 수 있다.

 

7. class에서의 접근 모습

- 위 과정들을 마치면 QT Designer를 통해 생성한 component에 대해 코드에서 접근이 가능하다는 것을 가시적으로 확인이 가능하며, 글쓴이는 아래 코드와 같이 비디오 스트리밍이 가능하도록 해주었다.

 

- 프로젝트 코드

 

'QT > VS based QT' 카테고리의 다른 글

Qt Signal/Slot 을 이용한 이벤트 호출  (0) 2020.08.02
Visual Studio 2019 QT 환경설정  (2) 2020.07.23