Сохранить изображение в виде 16-битного TIFF-файла в оттенках серого - PullRequest
0 голосов
/ 05 декабря 2018

Я впервые работаю с изображениями, и я пытаюсь сохранить в изображении 16-битный файл оттенков серого, который должен выглядеть как 1 из прикрепленного изображения.

Я пытался использовать img.Save(".\\MyFile\\myImage.tif",ImageFormat.Tiff);, норезультат был 2 из прикрепленной картинки.

Я изменил сохранение на

EncoderParameters eps = new EncoderParameters(2);
eps.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.ColorDepth,24L);
eps.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression,(long)EncoderValue.CompressionNone);

//var ei = GetEncoderInfo(ImageFormat.Tiff);
var ei = GetEncoderInfo("image/tiff");
img.Save(".\\MyFile\\myImage.tif", ei, eps);

, и поскольку глубина цвета не может быть 16, мне удалось получить результат 3 только из прикрепленного изображения.Есть ли способ сохранить изображение в виде несжатого 16-битного файла оттенков серого без использования других библиотек?

Picture

1 Ответ

0 голосов
/ 24 апреля 2019

Используйте OpenCV, как:

cv::Mat rawData( height_, width_, CV_16UC1, (void*)pPicData_);
cv::imwrite(fileName_.toStdString().c_str(), rawData);
...