我发现使用默认的c#库有两种方法可以读取图像信息。其中之一是
System.Drawing.Image image = new Bitmap("file..path");
另一个是:
Image image = Image.FromFile("file..path");
如果我需要阅读大量图片(近100TB数据),可能有人告诉我哪一个会运行得更快。
答案 0 :(得分:1)
我发现有两种方法可以阅读图片信息
你知道,如果它只是你所追求的图像信息,那么我就不会使用任何一种功能,因为它们都将整个图像从磁盘加载到内存 - 这是一种相当浪费的计算机资源练习。
相反,您应该只加载图像文件标题,无论它是EXIF; BITMAPINFOHEADER或其他,具体取决于图像格式。有很多方法可以通过.NET加载这些信息(参见下面的链接)。
除了RAW图像文件格式(不一定是从SLR相机输出的格式)之外,大多数图像文件格式都有一个标题,可以在将图像栅格数据从磁盘加载到内存之前加载。事实上,通常要求首先读取标头,否则您将不知道在加载图像之前要分配多少内存。
......等等。首先通过读取图像文件头来回答这些问题。顾名思义,有关图像的信息通常靠近文件的开头。确切的格式和布局取决于相关的文件格式。见BMP; PNG资源了解更多信息。
以下是有关加载图片标题的一些建议