Module: tf.image

这篇文章主要介绍TensorFlow处理图片这一块,这个模块和之前说过的文件I/O处理一样也是主要从python导过来的。

通过官方文档,我们了解到这个模块主要有一下这些个函数。

Functions

adjust_brightness(...): Adjust the brightness of RGB or Grayscale images.

adjust_contrast(...): Adjust contrast of RGB or grayscale images.

adjust_gamma(...): Performs Gamma Correction on the input image.

adjust_hue(...): Adjust hue of an RGB image.

adjust_saturation(...): Adjust saturation of an RGB image.

central_crop(...): Crop the central region of the image.

convert_image_dtype(...): Convert image to dtype, scaling its values if needed.

crop_and_resize(...): Extracts crops from the input image tensor and bilinearly resizes them (possibly

crop_to_bounding_box(...): Crops an image to a specified bounding box.

decode_and_crop_jpeg(...): Decode and Crop a JPEG-encoded image to a uint8 tensor.

decode_bmp(...): Decode the first frame of a BMP-encoded image to a uint8 tensor.

decode_gif(...): Decode the first frame of a GIF-encoded image to a uint8 tensor.

decode_image(...): Convenience function for decode_bmpdecode_gifdecode_jpeg,

decode_jpeg(...): Decode a JPEG-encoded image to a uint8 tensor.

decode_png(...): Decode a PNG-encoded image to a uint8 or uint16 tensor.

draw_bounding_boxes(...): Draw bounding boxes on a batch of images.

encode_jpeg(...): JPEG-encode an image.

encode_png(...): PNG-encode an image.

extract_glimpse(...): Extracts a glimpse from the input tensor.

extract_jpeg_shape(...): Extract the shape information of a JPEG-encoded image.

flip_left_right(...): Flip an image horizontally (left to right).

flip_up_down(...): Flip an image vertically (upside down).

grayscale_to_rgb(...): Converts one or more images from Grayscale to RGB.

hsv_to_rgb(...): Convert one or more images from HSV to RGB.

image_gradients(...): Returns image gradients (dy, dx) for each color channel.

is_jpeg(...): Convenience function to check if the 'contents' encodes a JPEG image.

non_max_suppression(...): Greedily selects a subset of bounding boxes in descending order of score.

pad_to_bounding_box(...): Pad image with zeros to the specified height and width.

per_image_standardization(...): Linearly scales image to have zero mean and unit norm.

psnr(...): Returns the Peak Signal-to-Noise Ratio between a and b.

random_brightness(...): Adjust the brightness of images by a random factor.

random_contrast(...): Adjust the contrast of an image by a random factor.

random_flip_left_right(...): Randomly flip an image horizontally (left to right).

random_flip_up_down(...): Randomly flips an image vertically (upside down).

random_hue(...): Adjust the hue of an RGB image by a random factor.

random_saturation(...): Adjust the saturation of an RGB image by a random factor.

resize_area(...): Resize images to size using area interpolation.

resize_bicubic(...): Resize images to size using bicubic interpolation.

resize_bilinear(...): Resize images to size using bilinear interpolation.

resize_image_with_crop_or_pad(...): Crops and/or pads an image to a target width and height.

resize_images(...): Resize images to size using the specified method.

resize_nearest_neighbor(...): Resize images to size using nearest neighbor interpolation.

rgb_to_grayscale(...): Converts one or more images from RGB to Grayscale.

rgb_to_hsv(...): Converts one or more images from RGB to HSV.

rgb_to_yiq(...): Converts one or more images from RGB to YIQ.

rgb_to_yuv(...): Converts one or more images from RGB to YUV.

rot90(...): Rotate image(s) counter-clockwise by 90 degrees.

sample_distorted_bounding_box(...): Generate a single randomly distorted bounding box for an image.

sobel_edges(...): Returns a tensor holding Sobel edge maps.

ssim(...): Computes SSIM index between img1 and img2.

ssim_multiscale(...): Computes the MS-SSIM between img1 and img2.

total_variation(...): Calculate and return the total variation for one or more images.

transpose_image(...): Transpose image(s) by swapping the height and width dimension.

yiq_to_rgb(...): Converts one or more images from YIQ to RGB.

yuv_to_rgb(...): Converts one or more images from YUV to RGB.

接下来,我们从中挑一些常用的详细了解一下。

decode_jpeg函数

tf.image.decode_jpeg(
    contents,
    channels=0,
    ratio=1,
    fancy_upscaling=True,
    try_recover_truncated=False,
    acceptable_fraction=1,
    dct_method='',
    name=None
)

相应的,tensorflow也提供解码其他图片格式如png,gif,bmp等等。

这个函数将一个jpeg格式的图片解析为一个unit8的tensor。

参数列表中的channel表示转换后想要的颜色通道的个数。接收0(使用原jpeg通道个数),1(grayscale),3(rgb)

参数列表中的ratio表示降级(downscale)图片。 接收值有1,2,4,8.

未完待续ing。。。

TensorFlow-谷歌深度学习库 图片处理模块的更多相关文章

  1. Keras:基于Theano和TensorFlow的深度学习库

    catalogue . 引言 . 一些基本概念 . Sequential模型 . 泛型模型 . 常用层 . 卷积层 . 池化层 . 递归层Recurrent . 嵌入层 Embedding 1. 引言 ...

  2. TensorFlow-谷歌深度学习库 手把手教你如何使用谷歌深度学习云平台

    自己的电脑跑cnn, rnn太慢? 还在为自己电脑没有好的gpu而苦恼? 程序一跑一俩天连睡觉也要开着电脑训练? 如果你有这些烦恼何不考虑考虑使用谷歌的云平台呢?注册之后即送300美元噢-下面我就来介 ...

  3. windows下Anaconda3配置TensorFlow深度学习库

    Anaconda3(python3.6)安装tensorflow Anaconda3中安装tensorflow3是非常简单的,仅需通过 pip install tensorflow 测试代码: imp ...

  4. 人工智能不过尔尔,基于Python3深度学习库Keras/TensorFlow打造属于自己的聊天机器人(ChatRobot)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_178 聊天机器人(ChatRobot)的概念我们并不陌生,也许你曾经在百无聊赖之下和Siri打情骂俏过,亦或是闲暇之余与小爱同学谈 ...

  5. 30个深度学习库:按Python、C++、Java、JavaScript、R等10种语言分类

    30个深度学习库:按Python.C++.Java.JavaScript.R等10种语言分类 包括 Python.C++.Java.JavaScript.R.Haskell等在内的一系列编程语言的深度 ...

  6. Python机器学习库和深度学习库总结

    我们在Github上的贡献者和提交者之中检查了用Python语言进行机器学习的开源项目,并挑选出最受欢迎和最活跃的项目. 1. Scikit-learn(重点推荐) www.github.com/sc ...

  7. TensorFlow和深度学习入门教程(TensorFlow and deep learning without a PhD)【转】

    本文转载自:https://blog.csdn.net/xummgg/article/details/69214366 前言 上月导师在组会上交我们用tensorflow写深度学习和卷积神经网络,并把 ...

  8. TensorFlow和深度学习新手教程(TensorFlow and deep learning without a PhD)

    前言 上月导师在组会上交我们用tensorflow写深度学习和卷积神经网络.并把其PPT的參考学习资料给了我们, 这是codelabs上的教程:<TensorFlow and deep lear ...

  9. 基于TensorFlow的深度学习系列教程 2——常量Constant

    前面介绍过了Tensorflow的基本概念,比如如何使用tensorboard查看计算图.本篇则着重介绍和整理下Constant相关的内容. 基于TensorFlow的深度学习系列教程 1--Hell ...

随机推荐

  1. 高通平台手机开发之LCD

    4.1. LCD 参考文档: 1) 80-NA157-174_E_DSI_Programing_Guide_B-Family_Android_Devices.pdf 2) 80-NN766-1_A_L ...

  2. 手把手教你画一个 逼格满满圆形水波纹loadingview Android

    才没有完结呢o( ̄︶ ̄)n .大家好,这里是番外篇. 拜读了爱哥的博客,又学到不少东西.爱哥曾经说过: 要站在巨人的丁丁上. 那么今天,我们就站在爱哥的丁丁上来学习制作一款自定义view(开个玩笑,爱 ...

  3. Cocos2D中相关问题提问的几个论坛

    如果和SpriteBuilder相关可以到: http://forum.spritebuilder.com 提问. 如果是Cocos2D的问题,则可以到以下论坛询问: http://forum.coc ...

  4. 调用bios喇叭发声

    话不多说,上代码: #include <windows.h> #include <iostream> #include <map> using namespace ...

  5. 证书,CSP与Openssl

    证书,CSP与Openssl 起因 最近在研究更安全的交互体系,自然想到的就是提供证书的交互方式.给用户分配一对公私钥,然后将私钥交给用户保管,用户在登录或者一些关键操作的时候通过私钥签名,从而保证其 ...

  6. SpriteBuilder中使用TrueType字体的一些障碍

    在实践中,有一些小的陷阱和障碍可能阻止你使用一般的TrueType字体. 第一个,必须要有一个有效的字体文件.在Finder中双击该.ttf文件,应该会打开Font Book app,显示一个象形符号 ...

  7. Cocos2D的随机数生成函数

    有很多种方法生成随机数.但是只有arc4random函数生成的最接近于"真随机(truly random)"数.(而且不需要种子) 其变体函数arc4random_uniform生 ...

  8. Linux - man page

    使用man date来查看date命令的详细信息. lucifer@lucifer-virtual-machine:~$ man date DATE(1) User Commands DATE(1) ...

  9. 如何配置android的adb环境变量

    如果打开DOS窗口,输入adb显示既不是内部命令也不是外部命令,则说明没有配置adb环境变量.方法如下: 第一步: 打开环境变量配置窗口.右击计算机,属性-高级系统设置-环境变量. 第二部: 添加an ...

  10. HBase事务

    众所周知,ACID是指原子性(Atomicity),一致性(Consistency),隔离性(Isolation)和持久性(Durability). HBase对同一行数据的操作提供ACID保证.HB ...