2017-02-10 2 views
0

기록 이미지의 품질이 중요합니다. 따라서 rosbag record /camera/image_raw/compressed이 압축 된 모드가 손실이 있다고보고 되었기 때문에이 경우와 관련이 있는지 확실하지 않습니다.[ROS bag]이있는 USB 스틱의 (실시간) 대형 이미지 재 코딩

정지 영상이 멈추더라도 USB에서 복사가 계속됩니다. 이처럼, 하나는 프레임 드롭을 가지지 않을 것이다.

조언이 있습니까?

이미지 스트리밍은 적절한 주파수이어야합니다.

답변

1

귀하의 질문에 나는 귀하의 이미지가 너무 크거나 USB 스틱에 실시간으로 기록 될 수 있도록 너무 자주 도착한다고 가정합니다.

설정/요구 사항에 따라 가방을 하드 디스크에 쓴 다음 나중에 USB로 복사하는 것이 좋습니다.

USB 스틱에 직접 작성해야하는 경우 분명히 유일한 해결책은 쓰여지는 데이터의 양을 줄이는 것입니다. 그것에 대해서는 /camera/image_raw/compressed을 배제하지 마십시오. 기본적으로 데이터를 JPEG (손실)로 압축하지만 PNG (무손실)로 전환 할 수 있습니다. 소프트웨어를 시작하고 rosrun rqt_reconfigure rqt_reconfigure을 실행하기 만하면됩니다. 이미지 전송의 경우 JPEG에서 PNG (source code)로 전환 할 수있는 항목이 표시되어야합니다. 실행 파일에이 값 (namespace.format = "png")도 설정할 수 있어야합니다 (ref).

허용되는 경우 이미지 해상도 또는 프레임 속도를 줄일 수도 있습니다. PNG 압축과 함께 사용하면 가장 좋은 방법입니다.

이 같은 무손실 PNG를 압축하지 않으려면

는 다른 (비효율적) 옵션 ( --lz4 많은 CPU를 소비하지 않지만 최적의 압축 결과를 얻을하지 않습니다 rosbag 저장소 압축 된 데이터를 가지고하는 것입니다 --bz2이 저장됩니다 더 공간은 있지만 CPU 및 부하에 따라 실시간 요구 사항에 영향을 미칠 수 있음)

+0

감사합니다. @dseifert. 압축 된 이미지를 가방 파일로 저장할 때 PNG 형식을 강제하는 방법을 공유 할 수 있습니까? – Courier

+1

답변을 업데이트했습니다. 기본적으로 실행 파일에 dynamic_reconfigure에 의해 선택 될 매개 변수를 설정할 수 있습니다. – dseifert

관련 문제