Table of Contents | ||
---|---|---|
|
⬛ Revision History for Document
Rev | Date | Description |
1.0 |
| Initial Draft |
⬛ CLV-G-
...
03B 에 전용 뷰어 가이드가 필요한 이유
CLV-G-03x 03B 에서 CLDS-G-01x 를 사용하여 영상을 봐야 할 경우 아래의 가이드가 필요하다.
CLDS-G-01x 카메라의 경우 RAW 8 bit 데이터를 보내고 CLV 에서도 RAW 8 bit 데이터를 수신한다.
수신된 RAW 8 BIT 데이터를 UVC 포맷으로 변경하여 HOST PC 로 보내야 하는데, 현재 UVC 에 RAW 8 bit 를 보낼 수 있는 포맷이 없어, BGR24 포맷으로 변환하여 HOST PC 로 전송하고 있다.
데이터를 전송받은 HOST PC 에서 따로 변환 없이 Viewer 로 볼 경우 BGR 의 B 에만 값이 있어, 영상이 파랗게 나오게 된다.
⬛ 변환에 대한 도식화
CLV-G-03A 03B 에서 raw 8bit 데이터를 첫번째 8 bit 에 데이터를 채우고 나머지 16 bit 에는 0의 값을 넣은 뒤 BGR 24 포맷으로 변환하여 HOST PC 에 전달한다.
...
이후 HOST PC 에서 데이터를 받은 후 변환한 데이터를 다시 역변환 시켜줘야 한다.
...
⬛ 변환 예제 코드
아래는 HOST PC 에서 데이터를 역변환 시켜주는 예제 코드이다.
해당 예제 코드는 OpenCV 라이브러리와 QT 를 사용한 예제 코드이다.
Code Block | ||
---|---|---|
| ||
Mat origin_frame; // 원본 데이터 Mat convert_frame; // 변환 데이터 videoCapture >> origin_frame; // 원본 데이터를 받아온다. convert_frame.create(origin_frame.rows, origin_frame.cols, CV_8UC1); // 변환 데이터 사이즈 설정 for (int i = 0; i < 800; i++) { for (int j = 0; j < 1280; j++) { // 해상도에 맞춰 모든 픽셀을 돌며 변환 데이터에 원본 데이터에 첫번째 Byte 값만 추출하여 넣어준다. convert_frame.at<uchar>(i, j) = origin_frame.at<Vec3b>(i,j)[0]; } } |
⬛ 전용 뷰어 실행 파일
⬜ Window
Date | Version | Window | 비고 | ||||
---|---|---|---|---|---|---|---|
| r1.0.0 |
| window 10 지원 |
⬜ Linux
Date | Version | Linux | 비고 | ||||
---|---|---|---|---|---|---|---|
| r1.0.0 |
| ubuntu 20.04 지원 |
...