我的AI之路(42)--不同操作系統下安裝圖片數據標註工具 LabelImg

     因疫情帶動了口罩識別等項目特殊需求,組織在家工作的多位平時從事非技術工作的同事參加口罩圖片數據的收集和標註,大家在家用的多是自己的本子,安裝的操作系統自然就是既有Windows也有Mac,不同操作系統的本子上安裝過程中遇到多個不同的問題,對於解決辦法予以記錄一下便於以後再次遇到時快速解決。

    Windows專業版和Ubuntu系統安裝的過程按照https://github.com/tzutalin/labelImg列出的安裝步驟做就差不多,當然,裏面pyqt5和pyqt5-tools之類的包如果不採用操作系統的安裝命令改用pip安裝可能會非常慢或連接超時出錯,對於Linux可以設置~/.pip/pip.conf文件,裏面的內容爲:

[global]
trusted-host=mirrors.aliyun.com
index-url=https://mirrors.aliyun.com/pypi/simple/

對於Windows,可以設置C:\Users\<user>\pip\pip.ini,文件內容爲:

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

或者提前把這些包的whl文件從相應的網站下載下來本地安裝,例如,從阿里雲上下載http://mirrors.aliyun.com/pypi/simple/pyqt5/到本地後安裝:

      pip install PyQt5-5.8.2-5.8.0-cp35.cp36.cp37-none-win_amd64.whl.whl

Windows專業版還可以直接使用編譯好了的exe文件下載windows_v1.8.1.zip文件解壓縮後即可使用:https://github.com/tzutalin/labelImg/releases

      Windows版labelImg有個問題需要注意的是,zip文件不要解壓到路徑中有中文的目錄中,否則labelImg.exe在雙擊啓動後即閃退,遇到這種情況,把zip文件解壓到路徑不含中文的路徑下,然後把labelImg在C:\users\<your username>\   (中文版的windows可能這個路徑是C:\用戶\<你的用戶名>\  ) 下生成的.labelImgSettings.pkl這個文件,需要把這個文件先刪掉,然後再運行lableImg.exe即可,當然labelImg.exe解壓後沒有運行過,就不用做這步。

      有人使用的本子是安裝的Windows家庭版,我開始沒注意到這個差別,照樣把windows_v1.8.1.zip解壓到D:\下後雙擊運行labelImg.exe,但是出現解界面窗口後中間是黑屏,過一會兒即退出,到C:\用戶\<用戶名>\下去找.labelImgSettings.pkl這個文件也沒看見,運行-黑屏-退出試了多次還是這樣,不得其解,最後想到Windows版是不是有什麼差異,一看操作系統版本,是Win10家庭版的,於是猜測家庭版時功能閹割版,可能這個exe文件運行不了,於是改換個安裝辦法:先分佈安裝Python3、PyQt5、lxml,然後到https://github.com/tzutalin/labelImg下載labelImg的源碼labelImg-master.zip到本地解壓開,然後進到labelImg-master目錄下,執行:

     pyrcc5 -o libs/resources.py resources.qrc

然後執行 python labelImg.py,可以看到窗口出來了,使用open dir按鈕打開圖片目錄都正常,說明沒問題了,然後到桌面上寫個cmd文件:

     d:
     cd D:\labelImg-master
     python labelImg.py

雙擊這個cmd文件即可啓動labelImg,OK,不懂技術的同事也可以輕鬆使用了。

    對於Mac本子,就有點費勁了,如果沒安裝brew,首先從AppStore安裝x-code,接受license,中間會要求安裝CommandLineTools,至少需要5G以上的空間,安裝完後確認x-code版本:

      ls -l /Applications/|grep Xcode

確認執行命令的目錄:

     sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

然後安裝brew(如果不安裝x-code和CommandLineTools直接安裝brew,可能會報錯xcode-select: error: invalid developer directory '/Library/Developer/CommandLineTools'):

     /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果沒安裝python,安裝完brew後就安裝python3:

      brew install python

 

有的Mac本子上自帶的python3.6文件不全也是閹割了的版本,所以按照官網的步驟安裝到make qt5py3時總是報錯收pyrcc5這個文件找不到:

brew install qt  # Install qt-5.x.x by Homebrew
brew install libxml2
#or using pip
pip3 install pyqt5 lxml # Install qt and lxml by pip

#cd labelImg-master
make qt5py3
python3 labelImg.py

   搜索了Mac的/usr目錄下確實沒有這個文件,一般來說應該在python下面的,猜測是Mac上自己安裝的python是閹割了的,於是安裝最新版python:

       brew install python

結果裝到最後在建立最新版的python的鏈接時說python已存在: 

    Warning: python 3.6.1 is already installed, it's just not linked.
    You can use `brew link python` to link this version.

這個是肯定的,原有的python3.6沒有卸載,於是強制執行鏈接: brew link --overwrite python,又報錯:

    Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks

一檢查/usr/local/下面沒有Frameworks這個目錄,估計是沒權限創建這個目錄,但是Mac又不許用在執行brew install時使用sudo,所以只能手工創建解決:

    sudo mkdir /usr/local/Frameworks
    sudo chown $(whoami):admin /usr/local/Frameworks

    然後再執行brew link --overwrite python,OK,提示鏈接創建了,接下來搜索一下pyrcc5也可以找到了,於是進到labelImg源碼所在的labelImg-master目錄下再執行 make qt5py3可以順利完成了,然後執行python3 labelImg.py可以看到窗口出來了,labelImg可以運行了! 最後寫一個start-labelImg.command文件(Mac默認.command文件發到終端執行)放到桌面上讓不懂技術的同事方便使用,在裏面寫上

     cd /Users/<username>/labelImg-master

     python3 labelImg.py

然後在終端進入/Users/<username>/Desktop,執行chmod +x start-labelImg.command給文件授權,然後在桌面上雙擊這個文件即可以啓動labelImg了,完工!所有參加標註的同事不懂技術的都可以用起來了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章