使用tensorflow提供的卷积操作来实现图片滤波

1.使用TensorFlow的卷积操作,如果使用的是GPU版本,可以明显提升效率,特别是在需要处理大批量图片的情形

2.使用函数tf.nn.conv2d(input, filters, strides, padding, data_format='NHWC', dilations=None, name=None )参数的具体含义可以参考https://www.tensorflow.org/api_docs/python/tf/nn/conv2d?version=stable, 其中需要注意的是需要将输入的数据转成四维的数据[batch, height, width, channels],并且滤波器的维度也需要转化[filter_height, filter_width, in_channels, out_channels],这是在data_format='NHWC'的情况下,N-样本数, H-图片高,W-图片宽, C-图片的通道数(RGB,灰度等)。

3.padding的默认取值有"SAME"、"VAILD",表示和数据大小相同、只保留有效部分(缩小了filter.shape-1)。或者也可以这样定义[[0, 0], [pad_top, pad_bottom], [pad_left, pad_right], [0, 0]],pad_top等表示在对应位置用0填充多少行或列。

4.使用0填充会出现数据边缘有异常,尝试采用数据自身进行填充使用np.c_[ data,  padding_data]增加列,np.r_[ data,  padding_data]增加行,需要在前面添加只需要调换data,  padding_data的位置

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值