add bgr888

This commit is contained in:
Kalman
2018-08-07 02:29:07 +08:00
parent 26d95ec0ac
commit 6d961203be
11 changed files with 97 additions and 36 deletions

View File

@@ -25,7 +25,7 @@ int main(int argc, char *argv[]) {
if (!api)
return 1;
api->SetStreamRequest(
Resolution::RES_1280x400, Format::RGB888, FrameRate::RATE_20_FPS);
Resolution::RES_1280x400, Format::BGR888, FrameRate::RATE_20_FPS);
// api->SetOptionValue(Option::FRAME_RATE, 25);
// api->SetOptionValue(Option::IMU_FREQUENCY, 500);
api->SetOptionValue(Option::IR_CONTROL, 80);

View File

@@ -52,7 +52,7 @@ int main(int argc, char *argv[]) {
std::size_t left_count = 0;
device->SetStreamRequest(
Resolution::RES_1280x400, Format::RGB888, FrameRate::RATE_30_FPS);
Resolution::RES_1280x400, Format::BGR888, FrameRate::RATE_30_FPS);
device->SetStreamCallback(
Stream::LEFT, [&left_count](const device::StreamData &data) {
CHECK_NOTNULL(data.img);
@@ -135,13 +135,15 @@ int main(int argc, char *argv[]) {
cv::cvtColor(left_img, left_img, cv::COLOR_YUV2BGR_YUY2);
cv::cvtColor(right_img, right_img, cv::COLOR_YUV2BGR_YUY2);
cv::hconcat(left_img, right_img, img);
} else if (left_data.frame->format() == Format::RGB888) {
} else if (left_data.frame->format() == Format::BGR888) {
cv::Mat left_img(
left_data.frame->height(), left_data.frame->width(), CV_8UC3,
left_data.frame->data());
cv::Mat right_img(
right_data.frame->height(), right_data.frame->width(), CV_8UC3,
right_data.frame->data());
cv::cvtColor(left_img, left_img, CV_BGRA2RGBA);
cv::cvtColor(right_img, right_img, CV_BGRA2RGBA);
cv::hconcat(left_img, right_img, img);
} else {
return -1;

View File

@@ -108,7 +108,7 @@ int main(int argc, char *argv[]) {
const auto frame_empty = [&frame]() { return frame == nullptr; };
uvc::set_device_mode(
*device, 1280, 400, static_cast<int>(Format::RGB888), 20,
*device, 1280, 400, static_cast<int>(Format::BGR888), 20,
[&mtx, &cv, &frame, &frame_ready](
const void *data, std::function<void()> continuation) {
// reinterpret_cast<const std::uint8_t *>(data);
@@ -144,7 +144,7 @@ int main(int argc, char *argv[]) {
// only lastest frame is valid
cv::Mat img(400, 1280, CV_8UC3, const_cast<void *>(frame->data));
// cv::cvtColor(img, img, cv::COLOR_YUV2BGR_YUY2);
cv::cvtColor(img, img, CV_BGRA2RGBA);
cv::imshow("frame", img);
frame = nullptr;