---
# System prepended metadata

title: Video Image Detection
tags: [雜項]

---

# Video Image Detection
###### tags: `雜項`

[Toc]

## **NVIDIA JETSON NANO**
- **燒錄系統** *(注意 sd卡最好是32GB以上)*
    - 安裝 [blaenaEtcher](https://github-production-release-asset-2e65be.s3.amazonaws.com/45055693/d9d47000-5986-11eb-8922-932e3ef4aa08?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210121%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210121T060129Z&X-Amz-Expires=300&X-Amz-Signature=e53791e0df05657af62600020ec67fc13d4da9b2f320cfc25af287762d0c0b71&X-Amz-SignedHeaders=host&actor_id=75531008&key_id=0&repo_id=45055693&response-content-disposition=attachment%3B%20filename%3DbalenaEtcher-Setup-1.5.115.exe&response-content-type=application%2Foctet-stream) 
    - 選擇安裝檔(這裡有兩個系統可以選擇)**
        1. [最原始的系統](https://developer.nvidia.com/jetson-nano-sd-card-image-r3231)
        2. [Dlinano](https://developer.download.nvidia.com/training/nano/ainano_v1-1-1_20GB_200203B.zip)   (*原始密碼dlinano這個系統不用下載其他程式來遠端控制 [Jupylab](http://192.168.55.1:8888)連線到這裡*)
        3. 散熱片下有一個sd卡的插孔喔 *如圖:point_down:* 
            ![](https://i.imgur.com/F3exp8k.png)
- 第一個Python Program on jetson nano
    - 如果是使用第一個系統，插上HDMI線即可開始進行初始設定
        - 設定完後會進到桌面，按下右鍵後最下方有個 **「Open Terminal」**
        ![](https://miro.medium.com/max/2728/1*8dx4DOn86dsWs-4Iy74uxg.png)
    - 第一個程式碼 **「ls」**
         這個可以查看你現在所在的位置底下(根)，還有甚麼小分類。
         ![](https://i.imgur.com/ni8tErD.png)
    - 進入資料夾 **「cd」**
         這時如果你想進去「Downloads」這個資料夾裡你可以輸入 `cd Downloads` 再輸入剛剛學過的`ls` 你就可以看到「Downloads」這個資料夾內的東西了。
  注意 大寫和小寫差很多喔~
    - 退出資料夾「`cd ..`」
        - 這時，你想回到上一個目錄你必須輸入「`cd ..`」
        - 你可以再輸入「`cd /`」 來查看最頂端的資料夾。
        ![](https://i.imgur.com/3cR4HNB.png)
          你會發現原本的 **「~」** 會變成 **「/」**!
        - 輸入 「`ls`」 你會看到:
        ![](https://i.imgur.com/CdVNfIG.png)
        - 你可以輸入「`cd home`」
         你會看到這台電腦上所有的使用者名稱，再輸入「`cd +你的名稱`」即可恢復成「~」。
    - 清理介面 **「clear」**
        現在你的介面一定很混亂吧!
        你可以輸入 「`clear`」 ，你的介面將會變得一乾二淨~
    - 安裝應用程式 **「apt-get install ...」**
        我現在想要一個 nano 編輯器，所以我們需要去下載它，我們會輸入 「`apt-get install nano`」
        :::info
        :herb: 歡迎愛用 vim
        ```
        $ sudo apt install vim
        ```
        :::
        :::warning
        **<font color="#622a92"> :exclamation: 第一個錯誤 :exclamation:</font>**
        ![](https://i.imgur.com/ymlrutZ.png)
        你會看到這個錯誤產生，你可以再程式碼的最前方加上「sudo」 
         :arrow_right:這代表你現在使用最高的權限去執行這個程式碼，只不過系統會向你要求密碼。
         :::
    - 解除安裝應用程式 **「apt-get remove ...」**
    只要輸入 「`apt-get remove (名稱)`」就可以刪除應用程式，~~是不是挺振奮          人心的鴨~~
    - 新增資料夾 **「mkdir ...」**
        - 現在，你需要創造一個資料夾來存放你的檔案。
          你可以輸入 「`mkdir scratch`」  
          這裡的 data 可以改成自己想傲的名字喔~
        - OK! 再來你需要放資料進入這個資料夾內
          按照剛剛學的 輸入「`cd scratch `」吧!
    - 使用 **nano** 來編譯 **Python** 
        - 輸入 「`python`」
          ![](https://i.imgur.com/tGnCplT.png)
        - 接下來輸入最簡單的程式碼 「`print "Hello World!"`」
          ![](https://i.imgur.com/iV5EEv5.png)
          它就會輸出 **Hello World!**
          接下來   我們可以開始寫一個程式囉~~~
          :::info
          先注意需求環境是要 python2.7 還是 python 3 ，你現在用的是 python 2.7 喔
          By :herb:
          :::
        - 我們先輸入「`nano greet.py`」  
         *它的意思是:創造一個 `greet.py` 的python檔案並使用 nano 編譯器來編輯它*
         接下來，你將進入到一個新的領域!
         `str=input("input")` *//宣告一個叫做"str"的變數，並且輸入一個值(type=char)到"str"內*
         `print(str+Hello)`  *//輸出你剛剛輸入的字元並加上"Hello"*
         接著 按下「ctrl + o」 再按下「 enter 」,最後按下「ctrl + x」離開現在的編譯畫面
         最後:exclamation: 輸入 `python3 greet.py` 就會執行了~
       - 如果你再編輯程式終發生一些問題你可以試試看按下「crtl + c」 或是 「ctrl + d」 來回到上一頁 
         例如 : (你不小心按到 help )
         ![](https://i.imgur.com/qlnTo6H.png)
- 更改檔案名稱
     -  如果你想要更改剛剛那個檔案的名字，你可以輸入 `mv greet.py (原本名字) greeting.py (後來的名字)`
        輸入完後，按下 ls 你就會發現他的名字已經變成 greet.py了!
    - 其實， mv 真正的意思是把...移動到...
      我們可以透過 `mv greeting.py ../Deskop/greet.py`
      這甚麼意思呢?
      我們把 `greeting.py` 根據我們打的路徑(../Desktop)，放到 Desktop 上
      並把它的名稱改為 `greet.py`
- 複製檔案
    - 你可以藉由 
  ` cp greeting.py(想要複製的檔案名稱) greet.py(複製過去後的名稱)`
- 總結 當你做完以上這些指令時
    - 你的 Desktop 會有一個叫做 `greet.py` 的檔案
      scratch 資料夾內會有一個叫做 greet.py 和greeting.py 的檔案!  
- 檢視檔案 
   - 如果你今天想要閱讀 greet.py 中的內容
     你可以輸入 cat ../Desktop/greet.py
     他將會直接列出裡面所有的內容~ 很酷吧~
    - 如果...你今天想要閱讀文件行數大於螢幕輸出行數時，你可已把剛剛的 "cat" 改成 "less" ，可以輸入的指令有:
      - 空白鍵  : 代表翻到下一頁
      - [pagedown]：向下翻動一頁
      -  [pageup]  ：向上翻動一頁
      - ?+字串    ：向上搜尋『字串』的功能
      - /+字串     ：向下搜尋『字串』的功能
      - :f    :立刻顯示出檔名以及目前顯示的行數
      - q   : 立刻退出現在的瀏覽
      所謂的 [pagedown]  [pageup] 指的是鍵盤中的
      (Mac 可以用 fn + up 或 down)
      ![](https://i.imgur.com/9ilWmtN.png)

      
      
 - 刪除檔案
    - 現在你的 scratch 資料夾已經太亂了，裡面有一個 greet.py 還有一個 greeting.py 所以我們來刪掉一個吧!:v:
    - 之前我們學過當你想要解除安裝時你可以輸入 「`sudo apt-get remove 應用程式`」
      相同的，你可以輸入「`rm greeting.py`」來刪除它
      你可以再輸入 `rm ../Desktop/greet.py`
      這樣你就不需要再進到 Desktop 資料夾再刪除一次了
      之後，你可以使用「`ls ../Desktop`」 來檢查是否有成功刪除掉~


- 刪除資料夾 
    - 當時我們再創造 scratch 資料夾時我們使用了「mkdir ...」

    - 現在，我們要將它刪除掉。
    
      我們會使用到「`rmdir scratch`」
      
      :boom:注意，我們必須退回 scratch 的上一個大目錄
      所以我們輸入「`cd ..`」 再輸入「`rmdir scratch`」
      :boom:但是，它還是會跳出一個錯誤::scream:
      <font color="#f00">「rmdir : failed to remove 'scratch': Directory not empty」</font>
      它的意思是: 你必須要是一個空的資料夾，才可以用這個命令刪除
      
      所以我們改成打「`rm -r scratch`」
      這裡的 「-r」 意思是它會用一種「recursively」(遞迴)的方式來刪除它。
      
      這邊列出所有的參數 :
> -a  ：全部的檔案，連同隱藏檔( 開頭為 . 的檔案) 一起列出來(常用)
> -A  ：全部的檔案，連同隱藏檔，但不包括 . 與 .. 這兩個目錄
> -d  ：僅列出目錄本身，而不是列出目錄內的檔案資料(常用)
> -f  ：直接列出結果，而不進行排序 (ls 預設會以檔名排序！)
> -F  ：根據檔案、目錄等資訊，給予附加資料結構，例如：
>       *:代表可執行檔； /:代表目錄； =:代表 socket 檔案； |:代表 FIFO 檔案；
> -h  ：將檔案容量以人類較易讀的方式(例如 GB, KB 等等)列出來；
> -i  ：列出 inode 號碼，inode 的意義下一章將會介紹；
> -l  ：長資料串列出，包含檔案的屬性與權限等等資料；(常用)
> -n  ：列出 UID 與 GID 而非使用者與群組的名稱 (UID與GID會在帳號管理提到！)
> -r  ：將排序結果反向輸出，例如：原本檔名由小到大，反向則為由大到小；
> -R  ：連同子目錄內容一起列出來，等於該目錄下的所有檔案都會顯示出來；
> -S  ：以檔案容量大小排序，而不是用檔名排序；
> -t  ：依時間排序，而不是用檔名。
      
最後，我們打上「`ls`」來檢查是否有成功~:ok_hand:
    
如果，輸入「`ls`」後，跳出來的資料不應該是在「你的使用者名稱」底下。
       就輸入一開始所教的「cd /home/你的名稱/Desktop」來恢復原狀。
    
:::info
#### :herb: 好用工具推薦:
- vim 強大的文字編輯器，可以裝很多外掛
- ssh 遠端連線 (預設就有裝)
- tmux 純文字介面的多視窗功能，讓你不用關掉 vim 就可以執行程式碼
:::
    
:::info
#### :herb: Citation
養成好習慣，有引用一定要附上 citation 
:::
    
    
## **RASBERRY PI**
