2017-07-10 17 views
0

私はテンソルオブジェクトとして画像を読んでいます。これはマスクを目指しています。テンソルの値を置き換える方法は?

は今、私は0 と白(ほぼ1.0)に近い値とその後のマスクは私の機械学習タスクに正しいだろう1.

に灰色で値を置き換えたいです。

私はそれを試してみました:

tf.where(imag >= 1.0) 

または次の機能がまた私にインデックス

greater = tf.greater_equal(mask, 0.95) 

が、更新する方法/ 0を割り当てを返しますか? scatter_nd_addは私のためには機能しません。

mask = tf.scatter_nd_add(mask, greater, 0) 

編集:

v_mask = tf.Variable(tf.shape(mask)) 
ind = tf.to_float(mask >= 0.0) 
v_mask.assign(ind) 

が、私は、セッションを実行する場合:

私は違っそれを試してみました。それはそこで止まり、続かない。

私が実際にやりたいこと: 寸法(mxnx1、テンソル、フロート32)のグレーのイメージがあり、値は[0,255]から[0,1]に再スケーリングされます。

白(1)の値を0、灰色(0.45-0.55)の値を1に置き換え、残りの値は未定義にします。しきい値に

答えて

0

あなたのイメージは、使用することができます:

thim = tf.tofloat(im >= 0.95) # or to whichever type you use 

imに結果を再割り当てするには、を想定し、それは可変です:

im_update = im.assign(thim) 

これはあなたの更新オペアンプを与えます更新が必要になることを呼び出す必要があります。

imが変数でない場合は、値を再割り当てすることはできません。しかし、実際にノードに値を再割り当てする必要があるケースはほとんどありません。

+0

それはテンソルのままにすべきです – j35t3r

+0

私はあなたに私に言いたいことを得ることができません。私はテンソルにwholeFileReaderでロードされた画像を持っています。 ここで、すべての白いピクセル(> = 0.95)を黒のピクセル(0)に置き換えたいとします。これらの値を置き換える方法は? – j35t3r

+0

最初の解決策を試しましたか?それはあなたのために働くのですか?そうでない場合、エラーは何ですか? – user1735003

関連する問題