Commit 45d8a421 authored by Fábio Prestes's avatar Fábio Prestes
Browse files

README.md atualizado, e ferramenta XML adicionada.

parent cfb38ff0
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
......@@ -72,8 +72,13 @@ class Act(object):
self._image_name = None
self._image_path = None
self._xml_file = None
self._seg_folder = os.getcwd()
self._img_folder = os.getcwd()
current_path=os.getcwd()
current_path=current_path[-1::-1]
current_path=current_path[3::1]
current_path=current_path[-1::-1]
current_path=current_path+"data"
self._img_folder=current_path+"/images"
self._seg_folder=current_path+"/demo"
self._init_dataset(args["dataset"])
self._init_classes(args["classes"], args["colors"])
......@@ -1119,57 +1124,58 @@ class Act(object):
arquivos = []
#verificar arquivos em todas as pastas partindo de um diretório raiz
for pog, _, files in os.walk(os.path.abspath(pathIO)):
#acha os arquivos de imagem na pasta de segmentos
for file in files:
if(file.endswith('.jpeg') or file.endswith('.tif') or file.endswith('.jpg') or file.endswith('.png')):##(-f)
#leitura dos arquivos de imagem na pasta original
arquivo=os.path.join(pog, file)
imgog=cv2.imread(arquivo,-1)
LinhaOg,ColunaOg,_=imgog.shape
# Writer(path, width, height) para iniciar o geramento do xml
print("criando xml para a imagem {}".format(file))
writer = wr(pog, LinhaOg, ColunaOg)
for pseg, _,filesIO in os.walk(os.path.abspath(pathS)):
pasta=pseg#pega o nome da pasta (classe do segmento)
pasta = pasta[-1::-1]
pasta = pasta[:pasta.index('/')]
pasta = pasta[-1::-1]
for fileIO in filesIO:
if(fileIO.endswith('.jpeg') or fileIO.endswith('.tif') or fileIO.endswith('.jpg') or fileIO.endswith('.png')):##(-f)
if (fileIO.startswith(file)): #verifica se eh o segmento desta imagem ou nao.
#leitura dos segmentos em seus diretorios
arquivo=os.path.join(pseg,fileIO)
imgseg=cv2.imread(arquivo,-1)
LinhaSeg,ColunaSeg,_=imgseg.shape
l=0
print("buscando encaixe do superpixel {}".format(fileIO))
#arraste do superpixel sobre a imagem original
starttime = time.time()
l,c,i,j,igual=arrasteSeg(imgog, imgseg, LinhaOg, ColunaOg, LinhaSeg, ColunaSeg)
if(igual): #Se o segmento esta igual a sua posicao no original
igual=False
#tudo isso pra terminar o loop desse segmento
if not(fileIO in arquivos): #Se o segmento atual ja foi visto
# ::addObject(name, xmin, ymin, xmax, ymax)
print("adicionando anotacao, superpixel {} encontrado em {}".format(fileIO,file))
tottime = tottime + time.time() - starttime
arquivos.append(fileIO) #Adiciona nos segmentos ja vistos
writer.addObject(pasta, c, l, c + ColunaSeg, l + LinhaSeg) #adiciona o objeto no xml
l=LinhaOg+1
c=ColunaOg+1
#save(path) termina o salvamento do xml
print("salvando xml")
print("Tempo decorrido em segundos: {}".format(tottime))
writer.save('{}.{}'.format(file,'xml'))
#gera o xml com as medidas
current_path=os.getcwd()
current_path=current_path[-1::-1]
current_path=current_path[3::1]
current_path=current_path[-1::-1]
current_path=current_path+"data/XML"
if(not os.path.exists(current_path)):
os.makedirs(current_path)
shutil.move(os.getcwd()+"/{}.xml".format(file),current_path+"/{}.xml".format(file))
if (not pog.endswith('demo') and not pog.endswith('XML')):
#acha os arquivos de imagem na pasta de segmentos
for file in files:
if(file.endswith('.jpeg') or file.endswith('.tif') or file.endswith('.jpg') or file.endswith('.png')):##(-f)
#leitura dos arquivos de imagem na pasta original
arquivo=os.path.join(pog, file)
imgog=cv2.imread(arquivo,-1)
LinhaOg,ColunaOg,_=imgog.shape
# Writer(path, width, height) para iniciar o geramento do xml
print("criando xml para a imagem {}".format(file))
writer = wr(pog, LinhaOg, ColunaOg)
for pseg, _,filesIO in os.walk(os.path.abspath(pathS)):
pasta=pseg#pega o nome da pasta (classe do segmento)
pasta = pasta[-1::-1]
pasta = pasta[:pasta.index('/')]
pasta = pasta[-1::-1]
for fileIO in filesIO:
if(fileIO.endswith('.jpeg') or fileIO.endswith('.tif') or fileIO.endswith('.jpg') or fileIO.endswith('.png')):##(-f)
if (fileIO.startswith(file)): #verifica se eh o segmento desta imagem ou nao.
#leitura dos segmentos em seus diretorios
arquivo=os.path.join(pseg,fileIO)
imgseg=cv2.imread(arquivo,-1)
LinhaSeg,ColunaSeg,_=imgseg.shape
l=0
print("buscando encaixe do superpixel {}".format(fileIO))
#arraste do superpixel sobre a imagem original
starttime = time.time()
l,c,i,j,igual=arrasteSeg(imgog, imgseg, LinhaOg, ColunaOg, LinhaSeg, ColunaSeg)
if(igual): #Se o segmento esta igual a sua posicao no original
igual=False
#tudo isso pra terminar o loop desse segmento
if not(fileIO in arquivos): #Se o segmento atual ja foi visto
# ::addObject(name, xmin, ymin, xmax, ymax)
print("adicionando anotacao, superpixel {} encontrado em {}".format(fileIO,file))
tottime = tottime + time.time() - starttime
arquivos.append(fileIO) #Adiciona nos segmentos ja vistos
writer.addObject(pasta, c, l, c + ColunaSeg, l + LinhaSeg) #adiciona o objeto no xml
l=LinhaOg+1
c=ColunaOg+1
#save(path) termina o salvamento do xml
print("salvando xml")
print("Tempo decorrido em segundos: {}".format(tottime))
writer.save('{}.{}'.format(file,'xml'))
#gera o xml com as medidas
current_path=os.getcwd()
current_path=current_path[-1::-1]
current_path=current_path[3::1]
current_path=current_path[-1::-1]
current_path=current_path+"data/XML"
if(not os.path.exists(current_path)):
os.makedirs(current_path)
shutil.move(os.getcwd()+"/{}.xml".format(file),current_path+"/{}.xml".format(file))
print("Processo finalizado")
achaImg(self._seg_folder,self._img_folder)
......@@ -1179,7 +1185,7 @@ class Act(object):
def close_config_xml(config_xml):
config_xml.destroy()
def config_xml_directory(Button, E):
path = self.tk.utils.ask_directory(default_dir = os.getcwd())
path = self.tk.utils.ask_directory(default_dir = current_path)
if(Button == 1):
self._img_folder = path
E.delete(0,END)
......
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment