Предположим, что имя моего входного изображения cat.jpg
. После того, как я обработал изображение, я хочу сохранить выходное изображение как cat_enhanced.jpg
. Как я могу сделать это?
Я не знаю, как получить доступ к имени и формату изображения отдельно.
char* inputImgName = argv[1];
Этот код сохраняет имя и формат изображения в указателе inputImgName
.
[Отредактировано]
std::string imgNameString = argv[1];
Используя это, я могу получить cat.jpg
, но не знаю, как сохранить изображение, как описано выше.
Ожидаемый результат:
имя входного изображения: cat.jpg
имя выходного изображения: cat_enhanced.jpg
@L.ScottJohnson Я отредактировал свой вопрос. Вы знаете, как сохранить изображение, как я спросил выше.
См. stackoverflow.com/questions/5878775/…
Спасибо, попробую и отчитаюсь.
@ L.ScottJohnson Спасибо, что решили мой вопрос.
Это мой ответ на мой вопрос. Спасибо @ Л. Скотту Джонсону за указание на меня.
std::string inputImgName = argv[1];
std::string findFormat(".");
size_t pos = inputImgName.find(findFormat);
inputImgName.replace(pos, findFormat.length(), "_enhanced.");
cout << "The enhanced image name is: " << inputImgName << endl;
Вам лучше использовать std::string для обработки выделения и перераспределения памяти для вас. Но если вы хотите использовать указатель char, вам придется выделить память самостоятельно; вы не должны указывать на argv[1] и уничтожать эту память.