用户:新时代运筹帷幄的逗比骚年查看:303 回复:16 评论:21 创建时间:2021-07-14T15:16:10







piclist = pic.tolist()
k=None
k_=None
t=None
n=0
for i in piclist:
for j in i[0]:
if j==255:
k=True
k_=True
if k_:
for j in i:
# 检测是否为黑色
if set(j)=={0}:
t = True
break
if t:
break
n+=1
piclist = piclist[n:]
k=None
k_=None
t=None
n=-1
for i in piclist[::-1]:
for j in i[0]:
if j==255:
k=True
k_=True
if k_:
for j in i:
# 检测是否为黑色
if set(j)=={0}:
t = True
break
if t:
break
n+=1
# 下线切割
piclist = piclist[:-n]
# 从左至右扫描切割
line = []
n=0
for k in range(len(piclist[0])):
c = []
for i in piclist:
c.append(i[n])
line.append(c)
n+=1
k=None
data=[]
c=[]
for num,i in enumerate(line):
if k and [0,0,0] not in i:
c.append(num)
k=False
elif not k and [0,0,0] in i:
c.append(num)
k=True
if len(c)==2:
data.append(c)
c=[]
Int_pic=[line[i[0]:i[1]] for i in data]
pic=[]
# 图片旋转
for i in Int_pic:
image = Image.fromarray(uint8(array(i))).transpose(Image.ROTATE_270).transpose(Image.FLIP_LEFT_RIGHT)
pic.append(image)
# print(len(pic))
# show(pic)
return pic点赞0
评论
import matplotlib.pyplot as plt
from numpy import *
from PIL import Image
def show(args):
line=len(args)//6
if len(args)%6>0:
line += 1
for n,i in enumerate(args):
plt.subplot(line,6,n+1)
plt.imshow(i)
def save(array_,name):
Image.fromarray(uint8(array_)).save(name)
def split(pict):
img = Image.open(pict)
# 灰度界限,大于这个值为黑色,小于为白色
threshold = 50
table = [1 if i < threshold else 0 for i in range(256)]
# 图片二值化
img = img.convert('L').point(table, '1')
# PIL转list
# global pic
pic = array(img).tolist()
l = []
for i in pic:
l_ = []
for j in list(i):
if j:
rgb = [255,255,255]
else:
rgb = [0,0,0]
l_.append(rgb)
l.append(l_)
##########图像二值化完毕############
pic = array(l)
####################################点赞0
评论
传个Github呗,我有点复制不明白代码
点赞0
评论
还没弄Github
哦,到时候记得把仓库发出来,我一直想研究AI,但是一直都没整明白
这个是我用Google的弄得,https://colab.research.google.com/drive/1PdobyC50Hcur3B9s4LWAVEE8bVMw1Bg2#scrollTo=v_FFcZTxYpvb&line=1&uniqifier=1 GOOGLE的,懂得都懂
az
目前刚弄完,之后优化了,改下程序,有空会在编程猫里再发一遍
colab.research.google.com/drive/1PdobyC50Hcur3B9s4LWAVEE8bVMw1Bg2#scrollTo=v_FFcZTxYpvb&line=1&uniqifier=1
Github的没弄,这是整理的代码和用到的一些数据(与开发中所用到的少了一张图片),URL:wwe.lanzoui.com/igxIlrikrif, 有个Code文件夹,里面的那个u开头的看不看无所谓(加错了)
from os import listdir
from tensorflow import keras
path = r'drive/MyDrive/Colab Notebooks/PIC/'
w = listdir(path)
w = [path+i for i in w]点赞0
评论
为了方便数据训练,就专门弄了着段带代码,来保存处理完的图片 (因为开发时训练和测试的数据得分开
# 训练数据
size = (28,28)
img = array([array(Image.open(i).convert('L').resize(size,Image.ANTIALIAS)) for i in w])
show(img)
# img = array([array(i.convert('L').resize(size,Image.ANTIALIAS)) for i in pic])
model = keras.Sequential([keras.layers.Flatten(input_shape=size),
keras.layers.Dense(256, activation='relu'),
keras.layers.Dense(11)
])
s=array([0,喵,0,喵])
model.compile(optimizer='adam',
loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy']
)
model.fit(img,s,epochs=8)点赞0
评论
数据训练的程序
其他作品
【JIU】(无人问津系列) 预览版-v1.0.3 shequ.codemao.cn/community/381喵5
【AI】人工智能 识别 人/马 shequ.codemao.cn/community/384268
点赞0
评论
Albert钟问一下测试集占多少
点赞0
评论
就是帖子里发的这几张
有测分类准确率吗QwQ
大概在83%-89%之间,但没有专门测过,数据比较少,训练用了20张图,测试次数如帖子所示
而且对图片也有要求
I see
测试的结果和测试的图片帖子里都发了,那几个长得奇奇怪怪的就是测试的,结果在图片上面,不是很容易看到