๊ณ๊ธฐ
YOLOํ์ต์ ์ํด ์ด๋ฏธ์ง ๋ผ๋ฒจ๋ง์ ํ๋, ์ด๋ฏธ์ง ์๋ฐฑ ์ฅ์ ์ด๋ฆ์ ๋ณ๊ฒฝํด์ผ ๋๋ ์ผ์ด ์๊ฒผ๋ค.
ํ๋ํ๋ ๋ณ๊ฒฝํ๋ฉด ๋์ง๋ง ๋๋ฌด ๊ท์ฐฎ๊ณ ์ค๋ ๊ฑธ๋ฆฐ๋ค.
ํ์ด์ฌ์ผ๋ก ๋ง๋ค ์ ์์ ๊ฑฐ ๊ฐ์, ๊ฐ๋จํ๊ฒ ์ฝ๋๋ฅผ ์ง๋ดค๋ค.
ํ๋ก๊ทธ๋จ์ด๋ผ ํ๊ธฐ์ ์ฝ๋๊ฐ ๋๋ฌด ์งง๊ธด ํ์ง๋ง, ๋ญ ๋ด๊ฐ ํ์์ ์ํด ๋ง๋ ๊ฑฐ๋ ์ ์๋ฏธํ์ง ์์๊น?๋ผ๊ณ ์๊ฐํ๋ค.
์ฝ๋
import os
#๊ธฐ์กด ์ฌ์ง ๋ฐฑ์
ํ์!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#๊ธฐ์กด์ ์๋ ์ฌ์ง๋ค์ ์ญ์ ๋จ
#๊ธฐ์กด ํ์ผ ๊ฒฝ๋ก
folder_path = 'C:\\Users'
#์๋ก ์ ์ฅ ๊ฒฝ๋ก (์ ํํ ๋ง์์ผ ํจ)
dst_path = 'C:\\Users'
#ํด๋์์์๋ ํ์ผ๋ค ์ด๋ฆ ๋ฆฌ์คํธ๋ก ๊ฐ์ ธ์ค๊ธฐ
file_names = os.listdir(folder_path)
#ํ์ธ
print(file_names)
#์ด๋ฏธ์ง ๋๋ฒ๋ง
numbering = 1
for file in file_names:
f_name, f_format = file.split(sep = '.') #ํ์ผ ์ด๋ฆ, ํ์ผ ํ์ฅ์ split
if f_format == 'jpg': #์ฌ์ง์ด๋ฉด
if f_name + '.txt' in file_names: #๋ผ๋ฒจ๋ง์ด ๋ ์ฌ์ง์ด๋ฉด
#print(f_name, f_format)
src_jpg = os.path.join(folder_path, f_name + '.jpg')
src_txt = os.path.join(folder_path, f_name + '.txt')
rename_jpg = '3_' + '1_' + str(numbering) + '.jpg' # (ํ์์์)_(์์์์)_(์ด๋ฏธ์ง ์์) + .jpg
rename_txt = '3_' + '1_' + str(numbering) + '.txt'
numbering += 1 #๋๋ฒ๋ง ๋ค์
print(rename_jpg)
dst_jpg = os.path.join(dst_path, rename_jpg)
dst_txt = os.path.join(dst_path, rename_txt)
os.rename(src_jpg, dst_jpg)
os.rename(src_txt, dst_txt)
์ค๋ช
์ผ๋จ ์ฒ์๋ถํฐ ์๊ธฐํด ๋ณด๋ฉด,
YOLO๋ก ํ์ตํ๊ธฐ ์ํด์ ์ด๋ฏธ์ง๋ฅผ ์์์์ ํ๋ ์๋จ์๋ก ์ถ์ถํ๋ค.
์ถ์ถํ๋ฉด 1.jpg, 2.jpg, 3.jpg... ์ด๋ฐ ์์ผ๋ก ์์ฑ๋๋ค.
๊ทธ๋ฆฌ๊ณ labelImg๋ฅผ ์ฌ์ฉํด์ ์ด๋ฏธ์ง ๋ผ๋ฒจ๋ง์ ์งํํ๋ค. ๋ผ๋ฒจ๋ง์ ํ๋ฉด 1.txt, 2.txt ์ด๋ฐ ํ์์ผ๋ก ๋ผ๋ฒจ๋ง ์ ๋ณด๊ฐ txtํ์ผ์ ์ ์ฅ๋๋ค.
txtํ์ผ์๋ ๋ผ๋ฒจ๋ง ํด๋์ค, ๋ฐ์ค์ 4 ๊ผญ์ง์ ์ขํ๊ฐ ์ ์ฅ๋๋ค.
์ด์ jpg์ txt๋ฅผ ๋ด๊ฐ ์ํ๋ ํ์์ผ๋ก ๋ฐ๊พธ๊ณ ์ถ์ด ํ์ด์ฌ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค.
#๊ธฐ์กด ํ์ผ ๊ฒฝ๋ก
folder_path = 'C:\\Users'
#์๋ก ์ ์ฅ ๊ฒฝ๋ก (์ ํํ ๋ง์์ผ ํจ)
dst_path = 'C:\\Users'
#ํด๋์์์๋ ํ์ผ๋ค ์ด๋ฆ ๋ฆฌ์คํธ๋ก ๊ฐ์ ธ์ค๊ธฐ
file_names = os.listdir(folder_path)
๋จผ์ ์ฝ๋๋ฅผ ์คํํ๋ฉด ๊ธฐ์กด์ ์๋ ํ์ผ๋ค์ด ์ฌ๋ผ์ง๋๊น ๋ฐฑ์ ํ์.
๋ฐ๊พธ๊ณ ์ถ์ ์ฌ์ง๋ค์ด ์๋ ํด๋๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐ๊ฟ์ ์ ์ฅํ ๊ฒฝ๋ก๋ ์ง์ ํด ์ค๋ค. ์ ๋๋ก ์ ํ๋ฉด ์ ์ฅ๊ฒฝ๋ก๊ฐ ๊ผฌ์ธ๋ค.
os.listdir์ ํตํด ํด๋์ ์๋ ํ์ผ๋ค์ ์ด๋ฆ์ ๋ฆฌ์คํธ๋ก ๊ฐ์ ธ์จ๋ค.
[1.jpg, 1.txt, 10.jpg, 10.txt, 100.jpg,...]
์ด๋ฐ ์์ผ๋ก ์ซ์ ์์๊ฐ ์ ๋ง๊ธด ํ๋๋ฐ ๋๋ ์ด๋ฏธ์ง ์์๋ ๋ณ๋ก ์ค์ํ์ง ์์ ๊ทธ๋ฅ ์งํํ๋ค.
์์๋ฅผ ๋ง์ถ๋ ค๋ฉด ์ฝ๋๋ฅผ ์ถ๊ฐ๋ก ์์ฑํด์ํ๋ฉด ๋ ๊ฑฐ ๊ฐ๋ค.
#์ด๋ฏธ์ง ๋๋ฒ๋ง
numbering = 1
for file in file_names:
f_name, f_format = file.split(sep = '.') #ํ์ผ ์ด๋ฆ, ํ์ผ ํ์ฅ์ split
if f_format == 'jpg': #์ฌ์ง์ด๋ฉด
if f_name + '.txt' in file_names: #๋ผ๋ฒจ๋ง์ด ๋ ์ฌ์ง์ด๋ฉด
#print(f_name, f_format)
src_jpg = os.path.join(folder_path, f_name + '.jpg')
src_txt = os.path.join(folder_path, f_name + '.txt')
rename_jpg = '3_' + '1_' + str(numbering) + '.jpg' # (ํ์์์)_(์์์์)_(์ด๋ฏธ์ง ์์) + .jpg
rename_txt = '3_' + '1_' + str(numbering) + '.txt'
numbering += 1 #๋๋ฒ๋ง ๋ค์
print(rename_jpg)
dst_jpg = os.path.join(dst_path, rename_jpg)
dst_txt = os.path.join(dst_path, rename_txt)
os.rename(src_jpg, dst_jpg)
os.rename(src_txt, dst_txt)
for์ผ๋ก ํด๋์ ์๋ ๊ฐ ํ์ผ์ด๋ฆ์ ๊ฐ์ ธ์จ๋ค. ํ์ผ์ xxx.xxxํ์์ด๋๊น '.'์ ๊ธฐ์ค์ผ๋ก split ํด์ค๋ค.
ํด๋์๋ ๋ผ๋ฒจ๋ง ํ ์ฌ์ง์ด ์๊ณ , ๋ผ๋ฒจ๋ง ์ ํ ์ฌ์ง์ด ์๋ค.
๋ผ๋ฒจ๋ง์ ํ๋ฉด ์ฌ์ง ํ์ผ ์ด๋ฆ๊ณผ ๊ฐ์ .txtํ์ผ์ด ์์ฑ๋๋๊น, ์ด๋ฅผ ์ด์ฉํด์ ๋ผ๋ฒจ๋ง ํ ์ฌ์ง๋ค์ ๋ถ๋ฅํด ์ค๋ค.
ํ์ธ ๋์ผ๋ฉด, ๊ธฐ์กด ํ์ผ๋ค์ ๊ฒฝ๋ก(src_)๋ฅผ os.path.join์ผ๋ก ๊ฐ์ ธ์จ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ๋ฐ๊พธ๊ณ ์ถ์ ์ด๋ฆ(rename_)์ผ๋ก ๋ง๋ค๊ณ , ์ด๊ฑธ os.path.join์ผ๋ก ์๋ก์ด ์ ์ฅ ๊ฒฝ๋ก(dst)๋ฅผ ๋ง๋ค์ด์ค๋ค.
์ด์ os.rename์ผ๋ก ์ด๋ฆ ๋ณ๊ฒฝํด ์ฃผ๋ฉด ๋.
๊ฒฐ๊ณผ
ํ๊ธฐ
์์ด๋์ด๋ ๊ฐ๋จํ๊ณ ๊ตฌํ๋ ์ฝ๋ค. ๊ทธ๋๋ ๋๋ฆ ์๋ํ๋๊น ์ ์๋ฏธํ์ง ์์๊น ์๊ฐํ๋ค.
๋ฉํฐ๋ฒ์ค์ ๋๋ ํ์ผ ํ๋ํ๋ ํด๋ฆญํ๋ฉฐ ํ์ผ๋ช ์ ๋ฐ๊พธ๊ณ ์์๊น?
'๐ Language > [python]' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ์ด์ฌ] ๋ฐ๋ณต๋ฌธ์์ ์ธ๋ฑ์ค์ ์์ ๋์ ์ํ - enumerate (0) | 2023.08.29 |
---|---|
[ํ์ด์ฌ] ์ฝฐ์ธ(Quine) ํ๋ก๊ทธ๋จ (0) | 2023.07.20 |
[ํ์ด์ฌ] dis๋ชจ๋๋ก ๋ฐ์ดํธ ์ฝ๋ ํ์ธ - dis (0) | 2022.08.08 |
[ํ์ด์ฌ] ํ์ด์ฌ ์ฝ๋ ์คํ ์ธก์ - time (0) | 2022.08.05 |
[ํ์ด์ฌ] if __name__ == "__main__" (0) | 2022.08.03 |