【发布时间】:2018-03-13 23:04:46
【问题描述】:
我正在努力定位像素附近最大的 k 个像素。输入是nonetype 动态图像张量。
versions:
-tensorflow 1.2-gpu
-python 3.5
为了提取图像张量中每个像素的邻居,我创建了一个眼睛过滤器:
w = np.eye(9).reshape((3, 3, 1, 9))
weights=tf.constant(w,tf.float32)
pixel_determ= tf.nn.conv2d(patches_batch, weights, strides=[1, 1, 1, 1], padding='SAME') #shape=(8, 183, 275, 9)
结果张量的深度为 9,其中包括邻居和中心像素值本身。
我需要做的是为图像的每个像素沿深度定位 3 个最大值(必须保留位置),并为最大的 3 分配 True 或 "1" 并为最大的 3 分配 "0" 或 False休息。
我对函数tf.nn.top_k 有点困惑。我无法获得正确的索引。此外,我还没有尝试过,但它似乎不接受None 类型的数据。有什么技巧或其他方法吗?
如果我能得到任何帮助,我将不胜感激。先感谢您。
【问题讨论】:
-
使用
tf.nn.top_k会得到什么样的输出? -
它只给出最大值的深度数而不是完整索引
标签: python image-processing tensorflow machine-learning computer-vision