用户:新时代运筹帷幄的逗比骚年查看:21 回复: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
评论
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
评论