如何将“cv2.magnitude”转换为张量流

问题描述

img = tf.image.rgb_to_grayscale(input)
sobel = tf.image.sobel_edges(img)
dx = np.asarray(sobel[0,:,0])  # Sobel_X
dy = np.asarray(sobel[0,1])  # Sobel_Y
dx = tf.cast(dx,tf.uint8)
dy = tf.cast(dy,tf.uint8)
mag = cv2.magnitude(dx,dy)  # gradient magnitude,no channel#### error 

我不知道如何将 opencv 函数 mag = cv2.magnitude(dx,dy) 转换为 tensorflow

还有一个问题,tensorflow中是否有sobel_x、sobel_y函数

错误信息

File "/home/semi/PycharmProjects/ReflectionDecomposition2/main.py",line 563,in <module> network = build(input) File "/home/semi/PycharmProjects/ReflectionDecomposition2/main.py",line 422,in build mag = cv2.magnitude(dx,no channel#### error TypeError: x data type = 17 is not supported

我使用的是 ubuntu18.04、python 3.6、cuda 10.0、cudnn 7.4、Tensorflow 1.14

那是 TF 1.14.0 API 我找不到 sobel 和梯度大小,因为旧版本很难找到

TF 1.14.0 API:https://github.com/tensorflow/docs/tree/r1.14/site/en/api_docs/python/tf

我无法升级到 TF2.0,我正在使用 github 代码

cv2.magnitude 是梯度的大小

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...