Python 在FCN的输出中设置阈值

Python 在FCN的输出中设置阈值,python,numpy,tensorflow,threshold,Python,Numpy,Tensorflow,Threshold,我一直在尝试使用FCN来分割医学图像。在评估部分,我需要将网络的输出转换成一个具有阈值的二进制矩阵。 我尝试使用cv2.0 pred\u bin=cv2.阈值(pred,0.95255,cv2.阈值二进制) pred是FCN(概率)的输出,其大小为[批次大小,240240,1] 然而,我得到了错误 TypeError:src不是numpy数组,也不是标量 那我该怎么办 什么是pred?是图形的输出(因此是Tensor对象)还是会话执行的输出(pred=sess.run(Tensor))?因为这应

我一直在尝试使用FCN来分割医学图像。在评估部分,我需要将网络的输出转换成一个具有阈值的二进制矩阵。 我尝试使用cv2.0
pred\u bin=cv2.阈值(pred,0.95255,cv2.阈值二进制)

pred是FCN(概率)的输出,其大小为[批次大小,240240,1] 然而,我得到了错误

TypeError:src不是numpy数组,也不是标量


那我该怎么办

什么是
pred
?是图形的输出(因此是
Tensor
对象)还是会话执行的输出(
pred=sess.run(Tensor)
)?因为这应该是第二种情况,应该有效。我猜你用的是张量,我认为pred是张量对象。我从网络的输出中得到了pred。那么,当pred是张量时,我应该怎么做呢?在会话中执行它,正如我上面向您展示的,并在阈值函数中使用该值。类似于
value=sess.run(pred)
pred\u bin=cv2.threshold(value,0.95255,cv2.THRESH\u BINARY)
pred_bin = cv2.threshold(pred,0.95,255,cv2.THRESH_BINARY)