如何正确应用带有卷积层的 3x3 过滤器?

什么AMesh

我试图将一个简单的拉普拉斯滤波器 (3x3) 应用于图像,但输出非常嘈杂

import tensorflow as tf
import PIL.Image as pil
import numpy as np

k = tf.constant([[1, 1, 1],[1, -8, 1],[1, 1, 1]], dtype=tf.float32)

image = tf.placeholder(dtype=tf.float32, shape=[None, None, None, 1])

kernel = tf.reshape(k, [3, 3, 1, 1], name='kernel')

res = tf.squeeze(tf.nn.conv2d(image, kernel, [1, 1, 1, 1], "SAME"))
with tf.Session() as sess:
    img = pil.open('grey.png')
    array = np.asarray(img).reshape(1, img.size[0], img.size[1], 1)

    out = sess.run(res, feed_dict={image:array})
    reverted = ((pil.fromarray(np.uint8(out))).convert('L')).save('testing.png')

嘈杂的输出图像

彼得·索尔丹

正确应用了卷积。问题在于图像反向转换。也就是说,您正在应用带有一些负值的过滤器,中间-8这意味着许多卷积像素将具有负的结果值,然后np.uint8在完成后转换为负值因此-1将变为255,因此1-1将具有与之关联的截然不同的光值。这导致模式。

更改以下两行:

array = np.asarray(img, dtype = np.float32 ).reshape(1, img.size[0], img.size[1], 1) / 2

reverted = ((pil.fromarray(np.uint8(out + 128))).convert('L')).save('testing.png')

你会得到一个有意义的图像。当然,您可能会想出更好的想法来处理负值,将原始像素转换为[0, 127.5]然后将128添加到结果中是一个快速而肮脏的解决方案,但它解决了问题。您确实需要考虑这一点,因为如果中间像素为零而其他像素具有重要值,您也可能会溢出。

使用更改后的代码,随机的安吉丽娜·朱莉图像会产生:

安吉丽娜朱莉拉普拉斯滤镜

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在d3工具提示的html元素内使用Angularjs过滤器?

来自分类Dev

如何过滤数据过滤器jQuery

来自分类Dev

Logstash:使用s3时如何使用过滤器匹配文件名

来自分类Dev

在d3过滤器内循环的适当方法(或如何选择多个功能)

来自分类Dev

ng-repeat过滤器无法正确应用

来自分类Dev

有问题:not(.class)选择器和CSS3过滤器

来自分类Dev

带有lambda fuctoin的python3过滤器对象

来自分类Dev

带有列表的Django过滤器过滤器

来自分类Dev

带有x轴的年份(无日)和“过滤器”开始日期的ggplot

来自分类Dev

FFT卷积-3x3内核

来自分类Dev

如何正确应用R中的过滤器功能?

来自分类Dev

仅当输入3个字符时如何使过滤器/搜索栏搜索?

来自分类Dev

设置卷积层的过滤器权重

来自分类Dev

过滤数组:如何订购过滤器

来自分类Dev

在过滤器上应用CSS3过渡

来自分类Dev

带有lambda fuctoin的python3过滤器对象

来自分类Dev

带有CIAffineClamp过滤器的MacOS和Swift 3

来自分类Dev

具有3列的自动过滤器

来自分类Dev

GTK如何为1个列表存储创建3个不同的过滤器

来自分类Dev

带有多个搜索过滤器的Cake PHP3分页

来自分类Dev

如何在 Excel 中基于带有宏的过滤器绘制 3 行?

来自分类Dev

为什么带有计数的过滤器的结果不能直接用作 Swift 3 中的条件

来自分类Dev

Spring Security 如何正确应用过滤器以从 URL 获取参数

来自分类Dev

如何在 boto3 中模拟 AWS CLI EC2 过滤器

来自分类Dev

具有相同过滤器的多个 URL 映射 spring security 3.x

来自分类Dev

如何为呈现的查询正确应用过滤器?

来自分类Dev

Zend3 表单过滤器 - ParamConverter 无法生成有效表单

来自分类Dev

应用 jquery 过滤器后,Google Maps API 3 平移到新的边界

来自分类Dev

为什么自定义平均过滤器(3x3)的输出与 opencv 的平均过滤器不同?

Related 相关文章

  1. 1

    如何在d3工具提示的html元素内使用Angularjs过滤器?

  2. 2

    如何过滤数据过滤器jQuery

  3. 3

    Logstash:使用s3时如何使用过滤器匹配文件名

  4. 4

    在d3过滤器内循环的适当方法(或如何选择多个功能)

  5. 5

    ng-repeat过滤器无法正确应用

  6. 6

    有问题:not(.class)选择器和CSS3过滤器

  7. 7

    带有lambda fuctoin的python3过滤器对象

  8. 8

    带有列表的Django过滤器过滤器

  9. 9

    带有x轴的年份(无日)和“过滤器”开始日期的ggplot

  10. 10

    FFT卷积-3x3内核

  11. 11

    如何正确应用R中的过滤器功能?

  12. 12

    仅当输入3个字符时如何使过滤器/搜索栏搜索?

  13. 13

    设置卷积层的过滤器权重

  14. 14

    过滤数组:如何订购过滤器

  15. 15

    在过滤器上应用CSS3过渡

  16. 16

    带有lambda fuctoin的python3过滤器对象

  17. 17

    带有CIAffineClamp过滤器的MacOS和Swift 3

  18. 18

    具有3列的自动过滤器

  19. 19

    GTK如何为1个列表存储创建3个不同的过滤器

  20. 20

    带有多个搜索过滤器的Cake PHP3分页

  21. 21

    如何在 Excel 中基于带有宏的过滤器绘制 3 行?

  22. 22

    为什么带有计数的过滤器的结果不能直接用作 Swift 3 中的条件

  23. 23

    Spring Security 如何正确应用过滤器以从 URL 获取参数

  24. 24

    如何在 boto3 中模拟 AWS CLI EC2 过滤器

  25. 25

    具有相同过滤器的多个 URL 映射 spring security 3.x

  26. 26

    如何为呈现的查询正确应用过滤器?

  27. 27

    Zend3 表单过滤器 - ParamConverter 无法生成有效表单

  28. 28

    应用 jquery 过滤器后,Google Maps API 3 平移到新的边界

  29. 29

    为什么自定义平均过滤器(3x3)的输出与 opencv 的平均过滤器不同?

热门标签

归档