From 7e586e190e270e3beb9c6b8d7a9a2cd5b369e23a Mon Sep 17 00:00:00 2001 From: luyishisi <543429245@qq.com> Date: Tue, 7 Mar 2017 20:20:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=90=AFTensorFlow=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E7=A0=81=E8=AF=86=E5=88=AB=E9=A1=B9=E7=9B=AE=EF=BC=8C=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E9=AA=8C=E8=AF=81=E7=A0=81=E5=9B=BE=E7=89=87=E7=94=9F?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tensorflow/README.md" | 6 +++ .../tensorflow/create_image/cteate_image.py" | 46 ++++++++++++++++++ .../tensorflow/create_image/image/0GXh.jpg" | Bin 0 -> 8889 bytes .../tensorflow/create_image/image/0a8m.jpg" | Bin 0 -> 8116 bytes .../tensorflow/create_image/image/0h6Y.jpg" | Bin 0 -> 9282 bytes .../tensorflow/create_image/image/0l1w.jpg" | Bin 0 -> 8486 bytes 6 files changed, 52 insertions(+) create mode 100644 "1.\351\252\214\350\257\201\347\240\201/tensorflow/README.md" create mode 100644 "1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/cteate_image.py" create mode 100644 "1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/image/0GXh.jpg" create mode 100644 "1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/image/0a8m.jpg" create mode 100644 "1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/image/0h6Y.jpg" create mode 100644 "1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/image/0l1w.jpg" diff --git "a/1.\351\252\214\350\257\201\347\240\201/tensorflow/README.md" "b/1.\351\252\214\350\257\201\347\240\201/tensorflow/README.md" new file mode 100644 index 00000000..532b6c99 --- /dev/null +++ "b/1.\351\252\214\350\257\201\347\240\201/tensorflow/README.md" @@ -0,0 +1,6 @@ + +使用TensorFlow去训练自己生成的验证码, + +当前进度: + +验证码自动生成---完成 diff --git "a/1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/cteate_image.py" "b/1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/cteate_image.py" new file mode 100644 index 00000000..1dcbbfa5 --- /dev/null +++ "b/1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/cteate_image.py" @@ -0,0 +1,46 @@ +#coding:utf-8 +from captcha.image import ImageCaptcha # pip install captcha +import numpy as np +import matplotlib.pyplot as plt +from PIL import Image +import random,time + +# 验证码中的字符, 就不用汉字了 +number = ['0','1','2','3','4','5','6','7','8','9'] +alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] +ALPHABET = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] +# 验证码一般都无视大小写;验证码长度4个字符 +def random_captcha_text(char_set=number+alphabet+ALPHABET, captcha_size=4): + captcha_text = [] + for i in range(captcha_size): + c = random.choice(char_set) + captcha_text.append(c) + return captcha_text + +# 生成字符对应的验证码 +def gen_captcha_text_and_image(): + image = ImageCaptcha() + + captcha_text = random_captcha_text() + captcha_text = ''.join(captcha_text) + + captcha = image.generate(captcha_text) + image.write(captcha_text, captcha_text + '.jpg') # 写到文件 + + captcha_image = Image.open(captcha) + captcha_image = np.array(captcha_image) + return captcha_text, captcha_image + +if __name__ == '__main__': + # 测试 + while(1): + text, image = gen_captcha_text_and_image() + print 'begin ',time.ctime(),type(image) + f = plt.figure() + ax = f.add_subplot(111) + ax.text(0.1, 0.9,text, ha='center', va='center', transform=ax.transAxes) + plt.imshow(image) + + + #plt.show() + print 'end ',time.ctime() diff --git "a/1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/image/0GXh.jpg" "b/1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/image/0GXh.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..87aa3082bf94422b6d6bec4890718dd20dcad8dc GIT binary patch literal 8889 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 Hu0mjfscH=a literal 0 HcmV?d00001 diff --git "a/1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/image/0a8m.jpg" "b/1.\351\252\214\350\257\201\347\240\201/tensorflow/create_image/image/0a8m.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..a95b11fe5a1e64536455c318eb2ccfe1549838a9 GIT binary patch literal 8116 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 literal 0 HcmV?d00001