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