第一篇--Tensorflow图像处理之图像编码处理

个人申明:本人最开始意愿是学嵌入式的,奈何学校和身边环境使然,没有那么良好的氛围。后来在导师的指引下,入了这tensorflow的坑。不过经过这一个月来的书本加视频自学,感觉还扣以。而且感觉对此产生了兴趣。所以在后面得时间里,我将会在此记录我学习的感悟及遇到的BUG解决方法。其实还是有点担心的,毕竟这方面的工作大多招的是硕士生,我这个双非的本科生日后生活堪忧哦。哎,不抱怨了,开始学习。

在前面的一段时间里,我在自学Tensorflow的实战Google深度学习框架,了解了基本的深度学习的神经网络的框架,以及如何搭建,如何调优,如何持久化,如何可视化。可是为什么选择现在才开始写博客,而且是直接从这个图像编码处理开始呢?因为我觉得前面的都是基本概念,到这里开始才是有趣的地方,才值得好好的纪录点点滴滴。话不多说,开始介绍这个坑。

环境:py3.5  tf14.0  Anaconda3   win10(之所以选择py3.5是因为本书上说明它的样例均是14版本的,而查询资料后发现目前只有py3.5支持,所以无奈只好去官网下载对应的版本来开始;另外大多数建议是使用Linux系统开发,不过我是试水嘛,所以就这WIN10上了。。其实很明显win10的毛病要多点,但是也是一种学习过程,虽然会改bug到心率焦脆。)

安装:教程网上其他博客也有,此不赘述。如果有需要,会后期添加。

正题:

图像编码处理原因:我们图像存储时使用的是JPG   PNG等格式,而我们的神经网络处理的输入数据为矩阵形式。所以对图片需要进行编码处理,使其转化为矩阵形式。具体图像矩阵表示原理后期有时间补充。

课本源码:

#!/usr/bin/env  python
# -*- coding:utf-8 -*-
import matplotlib.pyplot as plt
import tensorflow as tf
image_raw_data = tf.gfile.FastGFile("C:/path/to/picture.jpg", 'r').read()
with tf.Session() as sess:
    img_data = tf.image.decode_jpeg(image_raw_data)
    print (img_data.eval())

    plt.imshow(img_data.eval())
    plt.show()
    encoded_image = tf.image.encode_jpeg(img_data)
    with tf.gfile.GFile("/path/to/output", "wb") as f:
        f.write(encoded_image.eval())

按理说课本是对的吧,但是在我使用PYcharm实战时,报了很多错误,现在我来一点一点分析:

1.安装包问题:

描述:通过代码,我们可以看到需要安装matplotlib这个包来实现图片的打开操作。但是通过pyton自带的在线安装时,你会发现会报错。连接超时,文件下载到一点就退出来了。

解决:不要在线安装,去官网http://www.lfd.uci.edu/~gohlke/pythonlibs/上下载自己当前py所支持的版本格式文件包,具体支持格式查询可以百度,在py的shell中输入指令查询,并下载相应版本库。

        其次,你会发现下载好matplotbil,在cmd中使用pip install 文件地址安装完成后运行程序任然会报错说Numpy的什么子函数找不到,或者是模块找不到。这是因为matplotbil库还有依赖包需要安装。具体所需如下图所示,方法同样是官网下载后安装。

4799e913aa2b6b5c45e6d6fd9bdb2e8d1cd.jpg

2.py版本问题

描述:安装好版本后,有时候运行会报如下错误:8a2c00e1e1e81c2f6f63d3ffe62fa5ba6ca.jpg

这个是个很坑的地方。看看提示,这句是跟书上的代码一模一样啊,怎么错了。一开始我也很无奈,但是在无聊的查询解决方案时才知道错在了‘r’  ---  'rb'就好了,是不是很坑。原因应该是数据格式不支持。

或许你在运行的时候遇到的问题首先不是这个,而是还是提示安装包有问题,可是明明查询库的时候,安装包都有啊,而且已经安装成功了呢。那是哪里出了问题?

解决:原来是我在运行该代码时选择的py解释器和我下载的包安装的解释器不同。多么搞笑嘛,这是。所以可以通过pycharm的设置--project interperter选择对应的版本解释器就行。

ad543f67a29bbc33c196b562d9c6630b614.jpg

 

注意到上面这些坑,应该就会好走多了,具体的运行效果如图:

23b6daff9d982eca8b51e1b06d6c48448c7.jpg

可爱的小熊预祝你成功,不懂得可以留言哦。或者  QQ邮箱私信我,共同学习,减少时间的浪费。2652140788@qq.com

转载于:https://my.oschina.net/u/3770644/blog/3036307

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值