import numpy as np,pandas as pd; from skimage import io,transform
file_path='https://raw.githubusercontent.com/'+\
'OlgaBelitskaya/data/main/patterns/'
file='01_01_001.png'; img_size_out=256; fig_size=4
def create_coord(file,file_path=file_path,fig_size=fig_size):
img=io.imread(file_path+file)
matrix_plot(img/255).show(figsize=(fig_size,fig_size))
imgbw=np.ones(img.shape[:2])
imgbw[img[:,:,1]<int(128)]=0
coord=np.array(np.where(imgbw<1)).T
fx=coord[:,1]; fy=coord[:,0]
fx=.05+.9*(fx-fx.min())/(fx.max()-fx.min())
fy=.05+.9*(fy-fy.min())/(fy.max()-fy.min())
coord=np.array([[fx[i],fy[i]] for i in range(len(fx))])
list_plot(coord,color='black',size=1)\
.show(figsize=(fig_size,fig_size),flip_y=True,frame=True)
def create_image(coord,img_size_out,img_size=4096):
fx=coord[:,1]; fy=coord[:,0]
fx=np.array(np.clip(fx*img_size,0,img_size-1),
fy=np.array(np.clip(fy*img_size,0,img_size-1),
f=np.array([[fx[i],fy[i]] for i in range(len(fx))])
img=np.zeros((img_size,img_size))
for [x,y] in f: img[x,y]=1
img=transform.resize(img,(img_size_out,img_size_out))
matrix_plot(img).show(figsize=(fig_size,fig_size))
img=create_image(coord,img_size_out)
np.savetxt('coord.csv',coord,delimiter=',',
header='x,y',comments='')
No comments:
Post a Comment