나는 다음과 같은 알고리즘 (작업)이 : 웹캠디버그 이미지 처리
- 획득 이미지
- 프로세스 이미지
- 보내기 이미지 GUI 및 그
표시를 GUI 인터페이스는 Qt로 프로그램되어 있으며 OpenCV를 사용하여 모든 이미지 수집 및 처리 작업을 수행하고 있습니다. 관련된 3 개의 수업이 있습니다. Acquire
, Process
및 Gui
으로 전화하십시오.
Acquire
(QObject의 상속)은 이미지를 잡고 이미지 처리를 위해 Process
(QObject에서 상속되지 않음)을 호출합니다. Process
은 Gui
(QObject에서 상속) 신호를 내고 누가 이미지를 Mat 형식으로 변환하여 QImage로 렌더링 하는지를 나타내는 Acquire
으로 결과를 반환합니다.
Process
클래스에 변경 사항을 도입하려고합니다. 시각적 피드백을 보내고 싶습니다. 모든 것이 Qt의 루프로 실행되었으므로 cv::namedWindow
및 cv::imshow
함수를 사용할 수 없습니다 (아무 것도 표시되지 않음).
질문입니다 : 비주얼 디버깅 Process
및 Gui
친구를 사귈 수없이 내부 Process
발생, 또는 신호/슬롯 메커니즘 또는에 큰 변화를 포함 다른 솔루션을 사용하여 연결하는 것을 알고 만들 수있는 빠른 방법이 있습니다 프로그램 구조?
문제가 확실하지 않습니다. 프로세스에서 Gui로 데이터를 보낼 수 있다고 말한 것입니다. 표시해야하는 디버깅 데이터를 보내는 데이 기능을 사용할 수없는 이유는 무엇입니까? –
나는 그렇지 않았다. Acquire는 이미지를 잡고 Process로 보내고 Process는 Acquire에 결과를 반환하고 Acquire는 처리 된 이미지를 화면에 그려주는 Gui가 잡은 신호를 내 보냅니다. 어쨌든 질문을 편집하여 더 명확하게 처리합니다. – Manuel
프로세스에서 다른 QWidget을 작성하고 별도의 창에 표시하고 디버그 정보를 넣을 수 있습니다. 또한 디버그 정보를 파일에 쓸 수 있습니다. –