Java TensorFlow实现以图搜图功能

前言

图像处理的Python库:OpenCVPILmatplotlibtensorflow等,本篇主要使用 tensorflow 来对图像进行格式转换、大小重置、剪切或填充、旋转、颜色转换、图像调整、加噪音。

tensorflow版本:1.9



一、读取图像


API:

tf.read_file(filename, name=None)

  • filename:路径
  • name:操作的名称



将图像数据转换为像素点的数据格式,返回对象为: [height, width, num_channels], 如果是gif的图像返回:[num_frames, height, width, num_channels]

  • height: 图片的高度的像素大小
  • width: 图片的水平宽度的像素大小
  • num_channels: 图像的通道数,也就是API中的channels的值
  • num_frames: 因为gif的图像是一个动态图像,可以将每一个动的画面看成一个静态图像,num_frames相当于在这个gif图像中有多少个静态图像



参数channels:可选值:0 1 3 4,默认为0, 一般使用0 1 3,不建议使用4

  • 0:使用图像的默认通道,也就是图像是几通道的就使用几通道
  • 1:使用灰度级别的图像数据作为返回值(只有一个通道:黑白)
  • 3:使用RGB三通道读取数据
  • 4:使用RGBA四通道读取数据(R:红色,G:绿色,B:蓝色,A:透明度)



# 读取数据
file_contents = tf.read_file(image_path)


二、图像格式的转换


API:

# 将PNG编码的图像解码为uint8或uint16张量
tf.image.decode_png(contents, channels=0, dtype=tf.uint8, name=None)

  • contents:A Tensor型string,0-d,PNG编码的图像。
  • channels:可选int,默认为0,解码图像的颜色通道数。
  • dtype:可选tf.DType来自:tf.uint8, tf.uint16。默认为tf.uint8。
  • name:操作的名称(可选)。
此操作还支持解码JPEG和非动画GIF,decode_image 和 decode_png 用法类似


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空