в стандартную программу grabcut, которая входит в примеры opencv, я добавил несколько строк кода, чтобы сохранить результат в файл. Однако в файле ничего нет. Просто черный сплошной цвет. Вот код, который я вставил —
в основной функции
case 's':
gcapp.writeToFile(writefilename);
break;
в классе GCApplication
void writeToFile(string filename)
{
imwrite(filename, mask);
cout << "file written" << endl;
}
Я предполагаю, что вы знаете программу grabcut и у вас есть код для ее просмотра. Пожалуйста, дайте мне знать, если мне нужно больше информации … спасибо!
Вы экономите неправильно cv::Mat
, Тот, который отображается в конце showImage()
является res
, которая является локальной переменной. Вы должны сделать это переменной класса, а затем метод writeToFile()
должен выполнить:
imwrite(filename, res);
Других решений пока нет …