Следующий код работает для меня на 8-битных (1 и 3-канальных) изображениях:
std::vector<int> qualityType;
qualityType.push_back(CV_IMWRITE_JPEG_QUALITY);
qualityType.push_back(90);
cv::imwrite("Final.jpg",image,qualityType);
В вашем коде qualityType
инициализирован неправильно.Ваш вектор содержит 2 значения
{<some unknown number>, CV_IMWRITE_JPEG_QUALITY}
, но должно быть
{CV_IMWRITE_JPEG_QUALITY, <desired quality value>}