TensorFlow newbie 여기, a simple tutorial에 대한 교육은 실패했습니다. 요점은 이미지를 회색조로 변환하는 것입니다.tf.reduce_mean & tf.concat을 사용한 회색 음영 변환
우리의 데이터는 기본적으로 HxWx3
(그림의 높이, 너비 및 3 가지 값 r, g, b의 색상)입니다.
따라서 각 배열 셀을 [r, g, b]
에서 [gray, gray, gray]
으로 변환하는 것과 동일 할 수도 있습니다. gray = mean(r, g, b)
이 맞습니까?
따라서 평균 기능에 대한 문서를 확인한 결과 reduce_mean이 발견되었습니다. 색상 축 (즉, 축 = 2)에서 사용한 다음 축 2를 사용하여 결과를 다시 연결하여 평균 값을 "복제"하고 마지막으로 빨강, 녹색 및 파랑으로 회색 값 (= 평균)을 3 배 얻습니다.
아래 코드를 참조하십시오 :import tensorflow as tf
import matplotlib.image as mpimg
filename = "MarshOrchid.jpg"
raw_image_data = mpimg.imread(filename)
image = tf.placeholder("uint8", [None, None, 3])
# Reduce axis 2 by mean (= color)
# i.e. image = [[[r,g,b], ...]]
# out = [[[ grayvalue ], ... ]] where grayvalue = mean(r, g, b)
out = tf.reduce_mean(image, 2, keep_dims=True)
# Associate r,g,b to the same mean value = concat mean on axis 2.
# out = [[[ grayvalu, grayvalue, grayvalue], ...]]
out = tf.concat(2, [out, out, out])
with tf.Session() as session:
result = session.run(out, feed_dict={image: raw_image_data})
print(result.shape)
plt.imshow(result)
plt.show()
(You can get original image here)
이 코드가 실행하지만 결과가 ok가 될 수있다. 내 변수를 확인하고, 아래 스크린 샷에 보여 주었다, 평균 확인 아니라고 밝혀 무슨 일이 있었는지
궁금, (147, 137, 88)! = 평균 38
아이디어가 있으십니까? 내가 뭘 잘못했는지 알 수는 없지만 ...
고마워! (때문에 오버 플로우의) 평균을 계산하기 전에 pltrdy
:
out = tf.cast(out, tf.uint8)
)은 아래의 좋은 그레이 스케일 변환을 제공합니다! 좋은 직업 & thx. 그래도 색상이 거꾸로 된 것처럼 보입니다 (이미지의 어두운 부분이 회색 음영에 가까워짐). 이상하다, 내가 조사 할거야. 다른 질문이있어. – pltrdy해결 된 문제 – pltrdy