CLV-G-03B μ „μš© λ·°μ–΄ κ°€μ΄λ“œ

Revision History for Document

Rev

Date

Description

1.0

Jun 3, 2024

Initial Draft

CLV-G-03B 에 μ „μš© λ·°μ–΄ κ°€μ΄λ“œκ°€ ν•„μš”ν•œ 이유

  • CLV-G-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-03B μ—μ„œ raw 8bit 데이터λ₯Ό 첫번째 8 bit 에 데이터λ₯Ό μ±„μš°κ³  λ‚˜λ¨Έμ§€ 16 bit μ—λŠ” 0의 값을 넣은 λ’€ BGR 24 포맷으둜 λ³€ν™˜ν•˜μ—¬ HOST PC 에 μ „λ‹¬ν•œλ‹€.

image-20240531-014812.png

Β 

  • 이후 HOST PC μ—μ„œ 데이터λ₯Ό 받은 ν›„ λ³€ν™˜ν•œ 데이터λ₯Ό λ‹€μ‹œ μ—­λ³€ν™˜ μ‹œμΌœμ€˜μ•Ό ν•œλ‹€.

image-20240531-014926.png

Β 

λ³€ν™˜ 예제 μ½”λ“œ

  • μ•„λž˜λŠ” HOST PC μ—μ„œ 데이터λ₯Ό μ—­λ³€ν™˜ μ‹œμΌœμ£ΌλŠ” 예제 μ½”λ“œμ΄λ‹€.

  • ν•΄λ‹Ή 예제 μ½”λ“œλŠ” OpenCV λΌμ΄λΈŒλŸ¬λ¦¬μ™€ QT λ₯Ό μ‚¬μš©ν•œ 예제 μ½”λ“œμ΄λ‹€.

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

λΉ„κ³ 

Date

Version

Window

λΉ„κ³ 

Jun 3, 2024

r1.0.0

window 10 지원

Β 

Linux

Date

Version

Linux

λΉ„κ³ 

Date

Version

Linux

λΉ„κ³ 

Jun 3, 2024

r1.0.0

ubuntu 20.04 지원

Β 

Β 

Β 

Β 

Β 

Β