Вам необходимо использовать COLOR_BGR2HSV
вместо COLORMAP_HSV
, поскольку вы конвертируете из BGR в HSV (OpenCV использует BGR по умолчанию). После этого вы можете разбить изображение на его каналы:
std::vector<Mat> channels;
split(img_hsv, channels);
А затем сохраните их одно за другим с именем по вашему выбору:
imwrite("H.png", channels[0]);
imwrite("S.png", channels[1]);
imwrite("V.png", channels[2]);