Странное изображение, снятое с помощью opencvC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Странное изображение, снятое с помощью opencv

Сообщение Anonymous »

Использование этого кода на встроенном устройстве Linux:

Код: Выделить всё

cv::VideoCapture cap;
int modes[] = {CV_8UC3, CV_8SC3, CV_16UC3, CV_16SC3};
char* smodes[] = {"CV_8UC3", "CV_8SC3", "CV_16UC3", "CV_16SC3"};
cap.open("/dev/video0", cv::CAP_ANY);
if(cap.isOpened()) {
printf("---> Camera is open!\n");
for (int i=0; i< 4; i++) {
printf("---> Testing mode %s!\n", smodes[i]);
cv::Mat frame(disp_height, disp_width, modes[i]);
cap >> frame;
char* str;
asprintf(&str, "./pics/pic_%s.jpg", smodes[i]);
bool check = cv::imwrite(str, frame);
if (check == false) {
printf("\n >>>>>> save img fail \n");
} else
printf("\n >>>>>> saveed img %s \n", str);
free(str);
}
cap.release();
} else
printf("---> Failed to open the camera !\n");
Я получаю такое изображение:
[img]https://i.sstatic .net/2oXDvZM6.jpg[/img]

Запуск v4l2-ctl --device=/dev/video0 --list-formats-ext return

Код: Выделить всё

[root@demo]# v4l2-ctl --device=/dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture Multiplanar

[0]: 'RG10' (10-bit Bayer RGRG/GBGB)
Size: Stepwise 64x64 - 2304x1296 with step 8/8
[1]: 'BA10' (10-bit Bayer GRGR/BGBG)
Size: Stepwise 64x64 - 2304x1296 with step 8/8
[2]: 'GB10' (10-bit Bayer GBGB/RGRG)
Size: Stepwise 64x64 - 2304x1296 with step 8/8
[3]: 'BG10' (10-bit Bayer BGBG/GRGR)
Size: Stepwise 64x64 - 2304x1296 with step 8/8
[4]: 'Y10 ' (10-bit Greyscale)
Size: Stepwise 64x64 - 2304x1296 with step 8/8
Я также попробовал другой режим открытия, например CAP_ANY или CAP_V4L2 или CAP_V4L или CAP_DSHOW, я получаю тот же результат
p>
Я тоже это пробовал:

Код: Выделить всё

cv::Mat bgr(disp_height, disp_width, modes[i]);
cap >> bgr;
cv::cvtColor(bgr, frame, cv::COLOR_BGR2RGB);
Это потенциальный дубликат определения цветового пространства с помощью openCV

Подробнее здесь: https://stackoverflow.com/questions/791 ... ith-opencv
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»