精华内容
下载资源
问答
  • JPEG  这种是我们最常见的类型之一,当然,这种格式你可能听得不多,但是他另外一种扩展名,你一定听过: jpg 。  那么好好的jpeg为啥非要叫jpg呢?听我给你慢慢道来。  JPEG是一种针对相片图像而广泛使用的...

    今天在整理图片工具类的时候,翻看了一下Android关于图片部分压缩格式的源码。里面枚举了3种图片压缩格式:JPEG,PNG, WEBP;

    JPEG

      这种是我们最常见的类型之一,当然,这种格式你可能听得不多,但是他有另外一种扩展名,你一定听过: jpg

      那么好好的jpeg为啥非要叫jpg呢?听我给你慢慢道来。

      JPEG是一种针对相片图像而广泛使用的一种有损压缩标准方法。是联合图像专家小组的简称Joint Photographic Experts Group。 此团队创立于1986年,1992年发布了JPEG的标准而在1994年获得了ISO 10918-1的认定。

      以下是有道词典翻译出来的,注意音标:

    有道词典翻译

      有木有感觉很像J-P-G。

      之所以常用,是因为它在图片压缩领域,有着其他格式都无法比拟的优势,尤其是对大图的压缩,所以你能看到的很多照片都是.jpg格式。

    PNG

      出生的最晚的,通常也是技术含量最高的。

      1996年出生,无损压缩,最常见的使用格式是 256 索引色(PNG-8)和 24 bit 真彩色(PNG-24) (只是最常见的,其实支持的更多) ,支持 full alpha 通道(256 级可调半透明色)。

      比如,你用QQ截图,或者其他小图,你会发现,PNG不仅无损,而且比jpg更小。

      而且在防锯齿方面,PNG也是最厉害的,其他两个都比不了。

    GIF

      出生最早的老大哥,生于1987年。

      我们见到的好多动图就是这种格式,和后起之秀PNG一样,是一种无损压缩,还支持单一透明色,但是有心的话,你会注意到,这种格式一般都不咋清晰,是因为它只支持256种颜色(8bit彩色),而JPEG支持24bit真彩色(大概17万左右吧),PNG更屌,他俩支持的,PNG都能支持,他俩不支持的,PNG也支持。

      最主要的,也是区别和JPEG和PNG的是,目前为止,这几种图片格式中,只有它支持动画

    对比

    那么问题来了,你说了半天,那我们到底该用哪个?

    JPEG

    图片压缩,尤其是大图,就用它,其他都比不上它。

    PNG

    屏幕截图,图片处理,个人认为是目前为止,除了照片大图不如JPEG,动画不如GIF之外,所有图片中最好的格式就PNG了。
    (本人程序猿,不管开发网页还是Android,IOS,统一PNG格式)

    GIF

    动图就用它吧,上面那俩都不支持,起码到目前为止不支持。

    展开全文
  • 常见的图片格式有JPEG(JPG),PNG,GIF. GIF图片的扩展名是gif。现在所有的图形浏览器都支持GIF格式,而且的图形浏览器只认识GIF格式。GIF是一种索引颜色格式,在颜色数很少的情况下,产生的文件极小,它的优点主要...

    在HTML中通过 img src=“图片路径” 引入图片。
    常见的图片格式有JPEG(JPG),PNG,GIF.
    GIF图片的扩展名是gif。现在所有的图形浏览器都支持GIF格式,而且有的图形浏览器只认识GIF格式。GIF是一种索引颜色格式,在颜色数很少的情况下,产生的文件极小它的优点主要有:
    GIF格式支持背景透明。GIF图片如果背景色设置为透明,它将与浏览器背景相结合,生成非矩形的图片。
    GIF格式支持动画。在Flash动画出现之前,GIF动画可以说是网页中唯一的动画形式。GIF格式可以将单帧的图象组合起来,然后轮流播放每一帧而成为动画。虽然并不是所有的图形浏览器都支持GIF动画,但是最新的图形浏览器都已经支持GIF动画。
    GIF格式支持图形渐进。渐进是指图片渐渐显示在屏幕上,渐进图片将比非渐进图片更快地出现在屏幕上,可以让访问者更快地知道图片的概貌。
    GIF格式支持无损压缩。无损压缩是不损失图片细节而压缩图片的有效方法,由于GIF格式采用无损压缩,所以它更适合于线条、图标和图纸。

    GIF格式的缺点同样相当明显。索引颜色是历史遗留的产物,在DOS下的老游戏几乎无一例外的采用索引颜色,这种格式本来早就应该淘汰了。但是由于带宽的限制,GIF从DOS时代红到了Internet时代。GIF这种索引颜色格式最大的缺点就是它只有256种颜色,这对于照片质量的图片是显然不够的。

    JPG最主要的优点是能支持上百万种颜色,从而可以用来表现照片。此外,由于JPG图片使用更有效的有损压缩算法,从而使文件长度更小,下载时间更短。有损压缩会放弃图像中的某些细节,以减少文件长度。它的压缩比相当高,使用专门的JPG压缩工具其压缩比可达180:1,而且图像质量从浏览角度来讲质量受损不会太大,这样就大大方便了网络传输和磁盘交换文件。JPG较GIF更适合于照片,因为在照片中损失一些细节不像对艺术线条那么明显。另外,JPG对照片的压缩比例更大,而最后的质量也更好

    但是从长远来看,JPG随着带宽的不断提高和存储介质的发展,它也应该是一种被淘汰的图片格式,因为有损压缩对图像会产生不可恢复的损失。所以经过压缩的JPG的图片一般不适合打印,在备份重要图片时也最好不要使用JPG。还有,JPG也不如GIF图像那么灵活,它不支持图形渐进、背景透明,更不支持动画。

    PNG 是20世纪90年代中期开始开发的图像文件存储格式,其目的是企图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。流式网络图形格式(Portable Network Graphic Format,PNG)名称来源于非官方的“PNG’s Not GIF”,是一种位图文件(bitmap file)存储格式,读成“ping”。PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,并且还可存储多到16位的α通道数据。PNG使用从LZ77派生的无损数据压缩算法。

    PNG文件格式保留GIF文件格式的下列特性:

    使用彩色查找表或者叫做调色板可支持256种颜色的彩色图像。

    流式读/写性能(streamability):图像文件格式允许连续读出和写入图像数据
    这个特性很适合于在通信过程中生成和显示图像。

    逐次逼近显示(progressive display):这种特性可使在通信链路上传输图像文件的同时就在终端上显示图像,把整个轮廓显示出来之后逐步显示图像的细节,也就是先用低分辨率显示图像,然后逐步提高它的分辨率。

    透明性(transparency):这个性能可使图像中某些部分不显示出来,用来创建一些有特色的图像。

    辅助信息(ancillary information):这个特性可用来在图像文件中存储一些文本注释信息。
    独立于计算机软硬件环境。

    使用无损压缩。
    PNG文件格式中要增加下列GIF文件格式所没有的特性:
    每个像素为48位的真彩色图像。

    每个像素为16位的灰度图像。
    可为灰度图和真彩色图添加α通道。
    添加图像的γ信息。

    使用循环冗余码(cyclic redundancy code,CRC)检测损害的文件。
    加快图像显示的逐次逼近显示方式。

    标准的读/写工具包。
    可在一个文件中存储多幅图像。

    展开全文
  • 以前在用Windows时候,想要修改格式一般可以通过修改扩展名,但这又可能导致图片不兼容情况,在Mac中修改图片格式就方便多了。 1、 双击图片用“预览”打开。 2.选择“文件”——“导出…”即可选择导出文件...

    以前在用Windows的时候,想要修改格式一般可以通过修改扩展名,但这又有可能导致图片不兼容的情况,在Mac中修改图片格式就方便多了。

    1、 双击图片用“预览”打开。
    在这里插入图片描述

    2.选择“文件”——“导出…”即可选择导出文件的格式,除了常见的JPEG和PNG之外,还支持更加节省空间的HEIC格式,甚至连PDF格式都有。

    在这里插入图片描述

    以上就是苹果Mac修改图片格式的方法。想了解更多关于Mac相关知识,请关注macz吧!

    展开全文
  • mnist数据集是一个数字手写体图片库,但它的存储格式并非常见的图片格式,所有的图片都集中保存在四个扩展名为idx3-ubyte的二进制文件。如果我们想要知道大名鼎鼎的mnist手写体数字都长什么样子,就需要从mnist数据...

    在TensorFlow的官方入门课程中,多次用到mnist数据集。

    mnist数据集是一个数字手写体图片库,但它的存储格式并非常见的图片格式,所有的图片都集中保存在四个扩展名为idx3-ubyte的二进制文件。

    如果我们想要知道大名鼎鼎的mnist手写体数字都长什么样子,就需要从mnist数据集中导出手写体数字图片。了解这些手写体的总体形状,也有助于加深我们对TensorFlow入门课程的理解。

    下面先给出通过TensorFlow api接口导出mnist手写体数字图片的python代码,再对代码进行分析。代码在win7下测试通过,linux环境也可以参考本处代码。

    (非常良心的注释和打印有木有)

    #!/usr/bin/python3.5

    # -*- coding: utf-8 -*-

    import os

    import tensorflow as tf

    from tensorflow.examples.tutorials.mnist import input_data

    from PIL import Image

    # 声明图片宽高

    rows = 28

    cols = 28

    # 要提取的图片数量

    images_to_extract = 8000

    # 当前路径下的保存目录

    save_dir = "./mnist_digits_images"

    # 读入mnist数据

    mnist = input_data.read_data_sets("MNIST_data/", one_hot=False)

    # 创建会话

    sess = tf.Session()

    # 获取图片总数

    shape = sess.run(tf.shape(mnist.train.images))

    images_count = shape[0]

    pixels_per_image = shape[1]

    # 获取标签总数

    shape = sess.run(tf.shape(mnist.train.labels))

    labels_count = shape[0]

    # mnist.train.labels是一个二维张量,为便于后续生成数字图片目录名,有必要一维化(后来发现只要把数据集的one_hot属性设为False,mnist.train.labels本身就是一维)

    #labels = sess.run(tf.argmax(mnist.train.labels, 1))

    labels = mnist.train.labels

    # 检查数据集是否符合预期格式

    if (images_count == labels_count) and (shape.size == 1):

    print ("数据集总共包含 %s 张图片,和 %s 个标签" % (images_count, labels_count))

    print ("每张图片包含 %s 个像素" % (pixels_per_image))

    print ("数据类型:%s" % (mnist.train.images.dtype))

    # mnist图像数据的数值范围是[0,1],需要扩展到[0,255],以便于人眼观看

    if mnist.train.images.dtype == "float32":

    print ("准备将数据类型从[0,1]转为binary[0,255]...")

    for i in range(0,images_to_extract):

    for n in range(pixels_per_image):

    if mnist.train.images[i][n] != 0:

    mnist.train.images[i][n] = 255

    # 由于数据集图片数量庞大,转换可能要花不少时间,有必要打印转换进度

    if ((i+1)%50) == 0:

    print ("图像浮点数值扩展进度:已转换 %s 张,共需转换 %s 张" % (i+1, images_to_extract))

    # 创建数字图片的保存目录

    for i in range(10):

    dir = "%s/%s/" % (save_dir,i)

    if not os.path.exists(dir):

    print ("目录 ""%s"" 不存在!自动创建该目录..." % dir)

    os.makedirs(dir)

    # 通过python图片处理库,生成图片

    indices = [0 for x in range(0, 10)]

    for i in range(0,images_to_extract):

    img = Image.new("L",(cols,rows))

    for m in range(rows):

    for n in range(cols):

    img.putpixel((n,m), int(mnist.train.images[i][n+m*cols]))

    # 根据图片所代表的数字label生成对应的保存路径

    digit = labels[i]

    path = "%s/%s/%s.bmp" % (save_dir, labels[i], indices[digit])

    indices[digit] += 1

    img.save(path)

    # 由于数据集图片数量庞大,保存过程可能要花不少时间,有必要打印保存进度

    if ((i+1)%50) == 0:

    print ("图片保存进度:已保存 %s 张,共需保存 %s 张" % (i+1, images_to_extract))

    else:

    print ("图片数量和标签数量不一致!")

    上述代码的实现思路如下:

    1.读入mnist手写体数据;

    2.把数据的值从[0,1]浮点范围转化为黑白格式(背景为0-黑色,前景为255-白色);

    3.根据mnist.train.labels的内容,生成数字索引,也就是建立每一张图片和其所代表数字的关联,由此创建对应的保存目录;

    4.循环遍历mnist.train.images,把每张图片的像素数据赋值给python图片处理库PIL的Image类实例,再调用Image类的save方法把图片保存在第3步骤中创建的对应目录。

    在运行上述代码之前,你需要确保本地已经安装python的图片处理库PIL,pip安装命令如下:

    pip3 install Pillow

    或 pip install Pillow,取决于你的pip版本。

    上述python代码运行后,在当前目录下会生成mnist_digits_images目录,在该目录下,可以看到如下内容:

    可以看到,我们成功地生成了黑底白字的数字图片。

    如果仔细观察这些图片,会看到一些肉眼也难以分辨的数字,譬如:

    上面这几个数字是2。想不到吧?

    下面这两个是5(看起来更像6):

    这个是7:(7长这样?有句MMP不知当讲不当讲)

    猜猜下面这个是什么:

    这是大写的L?不是。

    有点像1,是1吗?也不是。

    倒立拉粑的7?sorry,又猜错了。

    实话告诉您,它是2!一开始我也是不相信的,知道真相的那一刻我下巴差点掉下来!

    这些手写图片,一般人用肉眼观察,识别率能达到98%就不错了,但是通过TensorFlow搭建的卷积神经网络识别率可以达到99%,非常地神奇!

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    本文标题: 详解如何从TensorFlow的mnist数据集导出手写体数字图片

    本文地址: http://www.cppcns.com/jiaoben/python/267585.html

    展开全文
  • mnist数据集是一个数字手写体图片库,但它的存储格式并非常见的图片格式,所有的图片都集中保存在四个扩展名为idx3-ubyte的二进制文件。 如果我们想要知道大名鼎鼎的mnist手写体数字都长什么样子,就需要从mnist数据...
  • mnist数据集是一个数字手写体图片库,但它的存储格式并非常见的图片格式,所有的图片都集中保存在四个扩展名为idx3-ubyte的二进制文件。如果我们想要知道大名鼎鼎的mnist手写体数字都长什么样子,就需要从mnist数据...
  • 原创 opencv常见问题:Microsoft C++ 异常:cv::Exception解决 第一步:检查环境配置 第二步 :有关图片路径问题 ...这个问题是说可能把格式写成了”XXX.png.png”就是本身已经有扩展名了,但...
  • .ico是一种图标格式,这种图标扩展名为.icon、.ico,常见于windows的桌面图标和网址导航栏的小图标。主要特点是一个ICO文件可以包含多种尺寸的图片。二.常见的大小哪些?最小的图标尺寸是16*16px常见的尺寸16px...
  • mnist数据集是一个数字手写体图片库,但它的存储格式并非常见的图片格式,所有的图片都集中保存在四个扩展名为idx3-ubyte的二进制文件。 如果我们想要知道大名鼎鼎的mnist手写体数字都长什么样子,就需要从mnist...
  • 如何从TensorFlowmnist数据集导出手写体数字图片

    万次阅读 多人点赞 2017-09-19 11:03:09
    mnist数据集是一个数字手写体图片库,但它的存储格式并非常见的图片格式,所有的图片都集中保存在四个扩展名为idx3-ubyte的二进制文件。 如果我们想要知道大名鼎鼎的mnist手写体数字都长什么样子,就需要从mnist数据...
  • 作者:王二狗 博客:掘金、思否、知乎、简书、CSDN 点赞再看,养成习惯,你们的支持是我持续分享的...JPEG是一种针对彩色照片而广泛使用的有损压缩图形格式,其常见的扩展名有.jpg .jpeg .jpe 不适用场景 不适合线...
  • 图片来源于网络,侵删) 文件压缩是什么?文件?压缩?顾名思义,可以认为是对一个文件的大小进行压缩,...因为我们看一下常见的压缩方式哪些吧! 如下图???? 压缩格式 codec类 算法 扩展名 多文件 splitable
  • 每一种文件格式通常会一种或多种扩展名可以用来识别,扩但也可能没有扩展名。展名可以帮助应用程序识别的文件格式常见的有AVI,MOV,MP4,AVC. 2.文件封装格式 将已经编码压缩好的视频轨和音频...
  • 导出MNIST数据集

    2019-07-15 11:37:00
    mnist数据集是一个数字手写体图片库,但它的存储格式并非常见的图片格式,所有的图片都集中保存在四个扩展名为idx3-ubyte的二进制文件。 如果我们想要知道大名鼎鼎的mnist手写体数字都长什么样子,就需要从mnist...
  • HDR图片以及色调映射(ToneMapping)

    千次阅读 2020-09-11 21:06:11
    高动态范围(High-Dynamic Range,简称HDR),相应的,LDR(Low-Dynamic Range),也就是我们常见的8bit存储方式的图片.之前都是在介绍视频方面.但是在高动态图片(HDRI)方面也一些少量应用, 目前常用的存储格式有三种:...
  • .ico是一种图标格式,这种图标扩展名为.icon、.ico,常见于windows的桌面图标和网址导航栏的小图标。主要特点是一个ICO文件可以包含多种尺寸的图片。二.常见的大小哪些?最小的图标尺寸是16*16px常见的尺寸16px...
  • 随着博客人数增加, Blog 作为一种新生活方式、新工作方式、新学习方式已经被越来越多人所接受,并且在改变传统网络和社会结构:网络信息不再是虚假不可验证,交流和沟通更明确选择和方向性,单一...
  • 一、BMP文件分析 1. 什么是BMP(位图)? 常见的图像文件格式:BMP、JPG...BMP格式的图片,没有使用任何压缩算法,这种方式在以前使用的比较多,现在用的就比较少了,不过为了学习图像处理算法,所以先以该种格式的
  • 2:JPEG格式:联合图片专家组,也是常见的一种网络图片格式,它由联合图片专家组开发出来的,目的是为图像提供一种标准有损压缩方案。JPEG的扩展名为JPG或JPEG JPEG具有调节图像质量的功能,允许你用不同的压缩比例...
  • 常见的软件或windows桌面上的那些图标一般都是ICON格式的。在应用上面很多地方用到了icon图标,这样方便程序表述程序返回的操作状态,用户一眼就能看出应用返回的意思,提高用户体验,在小程序的组件提供了常用的icon...
  • 详细扩展方法参见更新包内说明及帮助文档内的常见问题解答 7、更新月灵攻击模式和攻击效果 8、增加脚本命令CHECKHORSELEVEL检测坐骑等级 CHECKHORSELEVEL (>,<,=,?) 等级 [2011-06-17] 1、修正人物骑马下线再...
  • 本项目使用了大量Gif图片, 而且github在国内访问速度非常不稳定,导致文章页面打开稍慢, 为了解决大陆用户访问项目速度慢问题, zhaoolee在阿里云买了一台5MVPS, 已将所有文章链接替换到v2fy.com域名下, 访问...
  • (7)CHKDSK后形成的*.CHK文件恢复,对于这类FILEnnnn.CHK文件,能识别出原先的扩展名,对于损坏丢失的目录也能按目录结构恢复出来,完好的文件名。 (8)对于USBC等病毒破坏的NTFS分区,在双击打开盘符后会提示...
  • 超级数据恢复软件

    2013-09-11 08:43:27
    (7)CHKDSK后形成的*.CHK文件恢复,对于这类FILEnnnn.CHK文件,能识别出原先的扩展名,对于损坏丢失的目录也能按目录结构恢复出来,完好的文件名。 (8)对于USBC等病毒破坏的NTFS分区,在双击打开盘符后会提示...
  • 8、更正在Win2003下,将空白MBR磁盘转换到GPT磁盘后,保存分区表后又回到MBR格式的问题。 9、纠正恢复已删除的文件后,未过滤掉正常文件的显示的问题。 10、纠正恢复NTFS压缩文件时,复制文件出错后无法继续复制其它...
  • 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中所有空格 实例082 汉字与区位码转换 第5章 面向对象技术应用 5.1 ...
  • 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中所有空格 实例082 汉字与区位码转换 第5章 面向对象技术应用 5.1 ...

空空如也

空空如也

1 2 3 4 5 6
收藏数 105
精华内容 42
关键字:

常见的图片格式的扩展名有