【发布时间】:2016-10-08 13:26:29
【问题描述】:
我有一个形状为B*H*W*C 的图像数据张量和一个形状为B*H*W*2 的位置张量。位置张量中的值是像素坐标,我想根据这些像素坐标对图像数据张量中的像素进行采样。我尝试了一种方法来做到这一点,比如将张量重塑为一维张量,但我认为这真的很不方便。我想知道我是否可以通过矩阵映射等更方便的方法来实现它(例如在 opencv 中重新映射)。
【问题讨论】:
我有一个形状为B*H*W*C 的图像数据张量和一个形状为B*H*W*2 的位置张量。位置张量中的值是像素坐标,我想根据这些像素坐标对图像数据张量中的像素进行采样。我尝试了一种方法来做到这一点,比如将张量重塑为一维张量,但我认为这真的很不方便。我想知道我是否可以通过矩阵映射等更方便的方法来实现它(例如在 opencv 中重新映射)。
【问题讨论】:
我首先要问你是否确定位置矩阵不是多余的。如果位置矩阵条目仅对应于图像数组中的像素位置,那么对于给定的应用程序,您可以访问位置矩阵来代替图像数据。
或许作为起点,奔跑
sess = tf.Session()
np_img, np_pos = sess.run([tf_img, tf_pos], feed_dict={...})
会将张量转换为 numpy 数组,这可能会使您的操作更容易。
否则,一维张量还不错,并且有 TF 函数可以轻松地重塑。
【讨论】: