首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C#库在ImageJ或ImageJ online中查看不可查看的图像已经尝试了ImageMagick、ImageSharp和System.Drawing

使用C#库在ImageJ或ImageJ online中查看不可查看的图像已经尝试了ImageMagick、ImageSharp和System.Drawing
EN

Stack Overflow用户
提问于 2022-09-26 23:35:59
回答 2查看 47关注 0票数 0

我有一个可以在ImageJ中查看的文件,但是大多数软件都是用黑色显示的。我试图在C#中查看它,但是它只是变黑了,在画图中也是不可见的,但是我可以在INcarta和ImageJ中查看它。该文件是一个16位的tiff,似乎具有LZW压缩。

我试图使用ImageSharp解码这个图像,然后将其显示为位图。下面是指向文件https://drive.google.com/file/d/16Xotc-2CJ6HkEJDysfKBkjClkU1OGiyQ/view?usp=sharing的链接

代码语言:javascript
运行
复制
    byte[] data = File.ReadAllBytes(fileToDisplay1);
    
 

            SixLabors.ImageSharp.Formats.Tiff.TiffDecoder decoder = new SixLabors.ImageSharp.Formats.Tiff.TiffDecoder();
            SixLabors.ImageSharp.Formats.Tiff.TiffEncoder encoder = new SixLabors.ImageSharp.Formats.Tiff.TiffEncoder();
            SixLabors.ImageSharp.Image? image = SixLabors.ImageSharp.Image.Load(data, decoder);




            System.Drawing.Bitmap bMap;
            using (var ms = new MemoryStream())
            {
                image.Save(ms, encoder);
                bMap = new Bitmap(ms);
            }

我也尝试过ImageMagickQ16

代码语言:javascript
运行
复制
byte[] data = File.ReadAllBytes(fileToDisplay1);
                
                var decoder = new SixLabors.ImageSharp.Formats.Tiff.TiffDecoder();
                var encoder = new SixLabors.ImageSharp.Formats.Tiff.TiffEncoder();
                //encoder.BitsPerPixel = SixLabors.ImageSharp.Formats.Tiff.TiffBitsPerPixel.Bit16;
                var image = SixLabors.ImageSharp.Image.Load(data, decoder);
                MagickImage im2;



               using (var ms = new MemoryStream())
                {
                    image.Save(ms, encoder);
                    im2 = new MagickImage(ms.ToArray());
                }



               //im2.Depth = 16;
                //im2.Grayscale();
                im2.AutoLevel();



               return im2.ToBitmap();

文件看起来是这样的:在ImageJ中,但是当我上传它或尝试使用其他软件时,它是黑色的。

我.我已经说出了我尝试过的其他事情

EN

Stack Overflow用户

发布于 2022-09-27 00:48:48

Imagemagick标识-verbose认为您的数据是二进制的,只是黑白的。所以Imagemagick有一些错误。

代码语言:javascript
运行
复制
Image:
  Filename: mystery.tif
  Format: TIFF (Tagged Image File Format)
  Mime type: image/tiff
  Class: DirectClass
  Geometry: 2040x2040+0+0
  Units: PixelsPerInch
  Colorspace: Gray
  Type: Bilevel
  Base type: Grayscale
  Endianness: LSB
  Depth: 16/1-bit
  Channel depth:
    gray: 1-bit
  Channel statistics:
    Pixels: 4161600
    Gray:
      min: 0  (0)
      max: 0 (0)
      mean: 0 (0)
      standard deviation: 0 (0)
      kurtosis: -3
      skewness: 0
      entropy: 0
  Colors: 1
  Histogram:
       4161600: (0,0,0) #000000000000 gray(0)
  Rendering intent: Perceptual
  Gamma: 0.454545
  Chromaticity:
    red primary: (0.64,0.33)
    green primary: (0.3,0.6)
    blue primary: (0.15,0.06)
    white point: (0.3127,0.329)
  Background color: gray(255)
  Border color: gray(223)
  Matte color: gray(189)
  Transparent color: gray(0)
  Interlace: None
  Intensity: Undefined
  Compose: Over
  Page geometry: 2040x2040+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: LZW
  Orientation: TopLeft
  Properties:
    date:create: 2022-09-27T00:43:06+00:00
    date:modify: 2022-09-27T00:42:39+00:00
    date:timestamp: 2022-09-27T00:43:25+00:00
    signature: 28f00fa3c1987b7b8f92961ef3a2d442cca23dbbb7c568b8908cc2fa2271de60
    tiff:alpha: unspecified
    tiff:endian: lsb
    tiff:photometric: min-is-black
  Artifacts:
    filename: mystery.tif
    verbose: true
  Tainted: False
  Filesize: 48240B
  Number pixels: 4161600
  Pixels per second: 84.8629MB
  User time: 0.060u
  Elapsed time: 0:01.049
  Version: ImageMagick 6.9.12-64 Q16 aarch64 17467 https://legacy.imagemagick.org

Mac,GraphicConverter和Photoshop可以读取你的图像,但是16位范围内的灰度很低。因此,乍一看,它们似乎是黑色的。如果图像动态范围被扩展,特征就会显示出来。

但是这并不适用于Imagemagick,因为它认为数据是二进制的,因此,所有数据值都很低,都被放入了黑箱中。

https://github.com/ImageMagick/ImageMagick/issues的Imagemagick网站上发布和出错

根据tiff文档,这要么是Imagemagick中的bug,要么是您的文件格式错误。IM开发人员将需要决定哪一个。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73860945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档