import cv2
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
def extract_image(img_name):
image = cv2.imread(img_name, cv2.IMREAD_GRAYSCALE)
return image
def imageToMatrix(filename):
# 读取图片
im = cv2.imread(filename, cv2.IMREAD_GRAYSCALE)
data = np.matrix(im, dtype="float32")
return data
img_name = '0.0.jpg'
img = imageToMatrix(img_name)
img2 = tf.Variable(img)
img_rsp = tf.reshape(img2, [1, 28, 28, 1])
print(img_rsp)
input = img_rsp
filter = tf.get_variable(name='a', shape=[3, 3, 1, 1], dtype=tf.float32,
initializer=tf.contrib.layers.xavier_initializer())
conv1 = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='SAME')#卷积
print(conv1)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
conv1_convert = sess.run(tf.transpose(conv1, [3, 0, 1, 2])) # 将[1,28,28,1]转换为[1,1,28,28]方便展示
print(conv1_convert.shape)
plt.title('conv1')
plt.imshow(conv1_convert[0][0])
plt.show()
结果