将图像保存为未压缩的16位灰度TIFF文件

问题描述 投票:0回答:1

这是我第一次使用图像而我正在尝试将图像保存为16位灰度tiff文件,它应该看起来像附图中的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位灰度tiff文件而不使用其他库?

Picture

c# image tiff grayscale
1个回答
0
投票

使用OpenCV如:

cv::Mat rawData( height_, width_, CV_16UC1, (void*)pPicData_);
cv::imwrite(fileName_.toStdString().c_str(), rawData);
© www.soinside.com 2019 - 2024. All rights reserved.