Table of Contents
打印图像矩阵
tmp 是PIL图像
import PIL
from pylab import *
tmp = PIL.Image.open('tmp.jpg')
im = array(tmp)
imshow(im)
plt.show()
停住程序pause
os.read(sys.stdin.fileno(),1)
简单的遍历生成器写法:
csv_file 是非常大的一个list,或者其他可遍历数据
def gen_info(csv_file):
for info in csv_file:
yield info[3]
g = gen_info(csv_file)
for i in g:
print(i)
Tensorflow常用运算操作:
(tf.cast(image, tf.float32) - 127.5) / 128.0 # TF 强制类型转换
tf.image.per_image_standardization(image) #TF 图像标准化
tf.equal(tf.mod(tf.floor_div(control, field), 2), 1) # TF 地板除法,取模和相等判断。
tf.image.flip_up_down:从上向下翻转
tf.image.flip_left_right:从左到又翻转
tf.image.transpose_image:对角线翻转
tf.image.random_flip_up_down:以一定概率从上向下翻转
tf.image.random_flip_left_right:以一定概率从左到又翻转
image = tf.cond(tf.equal(control, FIXED_STANDARDIZATION),
lambda: (tf.cast(image, tf.float32) - 127.5) / 128.0,
lambda: tf.image.per_image_standardization(image)) # TF lambda表达式
矩阵及维度常用操作:
image_size = (160, 160)
image.set_shape(image_size + (3,))
image的维度变为(160,160,3)
常用文件操作:
def gen_img_list(dir):
img_file_list = []
list = os.listdir(dir)
list.sort()
for file in list:
if os.path.splitext(file)[1] == '.jpg':
img_file_list.append(dir + "/" + file)
return img_file_list
def write_video(img_list, fps, w, h):
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
videoWriter = cv2.VideoWriter('./test.avi', fourcc, fps, (w, h))
for i in img_list:
img12 = cv2.imread(i)
cv2.imshow('img', img12)
cv2.waitKey(int(1000 / int(fps)))
videoWriter.write(img12)
videoWriter.release()