Member 9013369 Ответов: 1

Сжатие изображений Dicom с использованием метода потерь


Может ли один Пожалуйста, помогите мне в сжатие изображений стандарта DICOM(.файл DCM) изображения.
Я могу сделать это, используя gzipstrim класс использования пространства имен System.IO.Compression, который дает до 50% сжатия, и я хочу до 80% сжатия. Это может быть возможно с помощью сжатия с потерями, но я не знаю, как это сделать?

пожалуйста, помогите мне, как я могу этого достичь...?

Что я уже пробовал:

string[] sFiles = каталог.GetFiles(sInDir,"*. DCM*", SearchOption.AllDirectories);
int iDirLen = sInDir[синдир.Длина-1] = = Path. DirectorySeparatorChar ? синдир.Длина: синдир.Длина + 1;

using (FileStream outFile = new FileStream(sOutFile, FileMode.Создать, FileAccess.Пиши, Файлообменник.Чтение и запись))
используя (gzipstream представляется стр = новый gzipstream представляется(выходной_файл, CompressionLevel.Оптимальная, истинная))


foreach (string sFilePath в sFiles)
{
string sRelativePath = sFilePath. Substring(iDirLen);
if (progress != null)
прогресс(sRelativePath);
CompressFile(sInDir, sRelativePath, str);
}

он дает мне 50% сжатия, но хочет сжать uoto на 80%.

1 Ответов

Рейтинг:
2

Patrice T

Gzip-это инструмент сжатия общего назначения, он не должен понимать, что такое сжатие.
При сжатии с потерями инструмент должен понимать, что именно сжимается.

Таким образом, для сжатия с потерями вам нужно:
- Откройте файл и загрузите его в объект picture/bitmap.
- затем примените сжатие к объекту.
вам придется выбирать между доступными сжатиями, известными объекту. Как правило, сжатие выполняется, когда объект сохраняется в заданном формате, обычно JPEG.