# labelImg 的祈佑小教室 * **目錄** [**零. 建立Python環境**](https://hackmd.io/@zxcasd89525/Syw8BypDi#%E9%9B%B6-%E5%BB%BA%E7%AB%8BPython%E7%92%B0%E5%A2%83) [**一. 安裝labelImg**](https://hackmd.io/@zxcasd89525/Syw8BypDi#%E4%B8%80-%E5%AE%89%E8%A3%9DlabelImg) [**二. 啟動labelImg**](https://hackmd.io/@zxcasd89525/Syw8BypDi#%E4%BA%8C-%E5%95%9F%E5%8B%95labelImg) [**三. 使用labelImg標記YOLO格式label**](https://hackmd.io/@zxcasd89525/Syw8BypDi#%E4%B8%89-%E4%BD%BF%E7%94%A8labelImg%E6%A8%99%E8%A8%98YOLO%E6%A0%BC%E5%BC%8Flabel) [**四. 其他功能**](https://hackmd.io/@zxcasd89525/Syw8BypDi#%E5%9B%9B%E5%85%B6%E4%BB%96%E5%8A%9F%E8%83%BD) # ## 零. 建立Python環境 **待完成,先自己想辦法,Python版本請低於3.10(比如說3.9.10),3.10會有未知錯誤。** # ## 一. 安裝labelImg 1. **開啟終端機** 於window的搜尋框輸入"CMD",並開啟命令提示字元。 2. **安裝labelImg** 於命令提示字元輸入`pip install labelImg` # ## 二. 啟動labelImg 1. 在儲存圖片的資料夾裡先建立classes.txt(我有幫你們建好),裡面放著所有類別的名字(一行放一個類別,如下圖所示)。   2. 在命令提示字元輸入`labelImg class_file {classes.txt的路徑}`如果成功開啟labelImg,代表成功安裝。 **classes.txt的路徑記得改成自己的**  3. 成功開啟的話會顯示如下圖的視窗  4. 左方的調整工具列可以調整位置,使用拖曳的方式。 >我是都習慣放上面啦,所以下面的教學也都是用這個版型。  # ## 三. 使用labelImg標記YOLO格式label 1. **切換至YOLO格式** >先確定格式顯示為YOLO  >如果不是,直接按下去直到變成YOLO為止  2. **先點選Open Dir。** >點選Open Dir  >假設剛剛有改過格式,應該會跳出警告視窗,按Yes就可以了。 > 2. **選擇想畫標記的圖片所在的資料夾。**  3. **畫面上會顯示這個資料夾的第一張圖片。** > 上圖因為這張圖片`5.jpg`已經有同名的txt檔`5.txt`存在同一個資料夾,所以程式會讀取`5.txt`內的資料,自動幫我們畫上讀取到的框框。 4. **點選Change Save Dir**  >選擇與圖片資料夾同一個資料夾  5. **開始label囉~** >點選Create RectBox或按下快捷鍵`W`可以開啟畫框框模式。  *左下角那個人還沒被標記到,所以將滑鼠移到它的位置,用壓下 左鍵並拖曳的方式畫一個能夠完全包覆住目標的bounding box,放開左鍵後會出現要你選擇這個bounding box的label,這邊因為這個框起來的物件類別是person,因此選擇person這個類別。* >而因為一開始在開啟labelImg時有先將自訂的classes.txt做連接(就是二之2的那個指令),所以可以在要你選擇類別的框框裡看到classes.txt裡的類別,就可以直接選取不用輸入。  6. **儲存** >點選Save或是用快捷鍵`Ctrl + S`,因為前面有先設定儲存 的路徑,所以會直接儲存在剛剛選擇的資料夾裡。  >儲存之後可以在資料夾內看到剛剛儲存的txt檔,會與圖片檔同名,以這張圖為例,圖片名為`5.jpg`,就會儲存`5.txt`的檔案,`5.txt`裡存著bounding box的資訊。  >第一個為類別編號,person是第一種類別,所以編號為0。 第二個為bounding box的中心點的x軸。 第三個為bounding box的中心點的y軸。 第四個為bounding box的width (寬度)。 第五個為bounding box的height(高度)。 有幾行就是有幾個框框。  數值會都在0到1之間是因為程式會自動做正規化處理,舉例來說假設圖片寬度與高度為`640*640`,而bounding box 的資訊為 `x = 150` `y = 300` `width = 50` `height = 200` 那就會將x與width除以圖片寬度,y與height除以圖片長度 `x = 150/640` `y = 300/640` `width = 50/640` `height = 200/640` 正規化後的數據為 `x = 0.234375` `y = 0.46875` `width = 0.078125` `height = 0.3125` 7. **切換圖片** 如果這張圖片都想標記的物件都標記完了,並且也Save了,按下Next Image即可換下一張圖片,如果按下了卻發現上一張有需要修改的部分,也可以按下Prev Image來回到上一張。  8. **Auto Save** 如果怕每次標記完會忘記按Save,那可以開啟自動存檔,開啟Auto Save mode後,每次標記完後只要按下Next Image,程式就會幫你自動存檔。 >**點選上方的View。**  >**點選Auto Save mode。**  >**有打勾代表現在程式為Auto Save mode。**  # ## 四. 其他功能 1. **File List** 右下角有個File List的視窗,裡放的是該資料夾內的所有圖片,於該視窗點擊左鍵兩下即可將視窗彈出,在點擊兩下可以放回去。 >FileList視窗會顯示你目前在哪張圖片,也可以透過點擊兩下來直接跳到點擊的圖片。  ## 結束 有錯誤可以留言回報,謝謝。
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.