1 of 51

生成式人工智慧導論

稿紙校正、裁切

賴秋彤-林家弘-曾詠暄

國立臺北科技大學資訊工程系

1

2 of 51

目錄

2

3 of 51

目錄

P.3

  • 流程介紹
  • 流程說明
  • 繳交作業網頁更新教學
  • 助教聯絡資訊

4 of 51

紙本切割流程介紹

01.a

4

5 of 51

紙本-旋轉校正及切割

P.5

旋轉校正

裁切

流程及成果如下:

s1_rotate_page.py

s2_crop.py

6 of 51

紙本流程

P.6

1.專案下載

2.建立虛擬環境

3.旋轉校正

4.裁切

7 of 51

旋轉校正-目標

P.7

(以利裁切)

8 of 51

電子檔(PDF)切割流程介紹

01.b

8

9 of 51

切割

P.9

轉檔校正

裁切

s1_pdf2png.py

s2_crop.py

pdf

png

10 of 51

流程

P.10

1.專案下載

2.建立虛擬環境

3.轉檔

4.裁切

11 of 51

專案下載

02

11

12 of 51

專案下載

P.12

點擊code

13 of 51

專案下載

P.13

下載壓縮檔

14 of 51

建立虛擬環境

03

14

15 of 51

建立虛擬環境

P.15

  • 安裝 Anaconda:https://www.anaconda.com/download
  • 點擊 Get Started

16 of 51

建立虛擬環境

P.16

  • 需註冊 Anaconda 帳號才可以下載

17 of 51

P.17

建立虛擬環境

  • 在下載找到執行檔,點兩下執行→Next→I Agree

2

3

1. 在下載中找到.exe

18 of 51

建立虛擬環境

P.18

  • 搜尋 Anaconda > 打開 Anaconda Prompt

1.

2.

19 of 51

建立虛擬環境

P.19

建立虛擬環境 : conda create --name fontenv python=3.8

conda create --name fontenv python=3.8

20 of 51

建立虛擬環境

P.20

建立虛擬環境 : conda create --name fontenv python=3.8

輸入 y (y即yes)

成功

conda create --name fontenv python=3.8

21 of 51

建立虛擬環境

P.21

啟用虛擬環境:

啟用 fontenv 環境

conda activate fontenv

22 of 51

建立虛擬環境

P.22

移動至下載的專案資料夾

cd 02-1_crop_paper的路徑

23 of 51

建立虛擬環境

P.23

2. 使用下列指令安裝所需套件:

若使用電子檔書寫,請由下列指令額外手動下載套件

pip install -r requirements.txt

pip install pdf2image

conda install -c conda-forge poppler

24 of 51

旋轉校正-紙本

04.a

24

25 of 51

旋轉校正稿紙

P.25

1. 資料準備:

  • 進入01-2_crop_paper資料夾。
  • 將寫完字的掃描檔案放在以學號命名文件夾底下:

{學號}_{稿紙標題} \ 每一張掃描檔檔名.jpg (以114598033為例)

以{學號}_{稿紙標題}命名的文件夾

26 of 51

旋轉校正稿紙

P.26

副檔名為 .jpg !

27 of 51

旋轉校正稿紙

P.27

  1. 利用在命令提示字元裡利用 移動至s1_rotate_page.py 所在路徑,並選擇任一指令執行

python s1_rotate_page.py

cd …

確認目前環境以及路徑!

python –name {資料夾名稱} s1_rotate_page.py

28 of 51

旋轉校正稿紙

P.28

成功執行後,檔案存於 rotated_{原始檔名} 的資料夾中

29 of 51

旋轉校正稿紙

P.29

檢查旋轉後檔案數量

30 of 51

轉檔校正-電子檔(pdf)

使用pdf2image轉檔

04.b-1

30

31 of 51

稿紙pdf轉換png檔

P.31

資料準備

  • 打開 02-1_crop_paper 的資料夾
  • 將寫完字的pdf檔案放入資料夾內

以 {學號}_{姓名}_{稿紙名稱} 命名的pdf

32 of 51

稿紙pdf轉換png檔

P.32

1. 前面環境建置時,有安裝 poppler,請至檔案總管找出 poppler 的安裝位置,將路徑寫入 s1_pdf2png.py 程式碼中

(註:因為該套件的位置不會被自動抓取,需要手動設定位置)

基本上應該會在這個地方

33 of 51

稿紙pdf轉換png檔

P.33

執行

python s1_pdf2png.py

根據需求輸入:

  • pdf 檔的位置
  • 圖片要存的資料夾
  • 需要的起始跟結束頁碼

34 of 51

稿紙pdf轉換png檔

P.34

如何取得路徑?

  • [右鍵] -> [複製路徑]

如果沒看到複製路徑

  • 點選 [顯示其他選項]
  • 或者點選 [內容] -> [位置]

35 of 51

旋轉校正稿紙

P.35

成功後會有稿紙轉換成png的檔案

36 of 51

轉檔校正-電子檔(pdf)

使用batch file轉檔

04.b-2

36

37 of 51

pdf2png.bat

P.37

  1. 位置 /02-1_crop_paper/rotation
  2. 將要轉檔的所有稿紙放入 rotation
  3. 按兩下 pdf2png.bat

轉檔中......

38 of 51

pdf2png.bat

P.38

4. 轉檔成功

可以一次轉多份稿紙

39 of 51

pdf2png.bat 執行失敗解決方法

P.39

操作步驟:

  1. 確認 pdftoppm.exe 所在位置,是否在以下路徑

set "POPPLER_BIN=C:\Users\LAB1223\anaconda3\envs\fontenv\Library\bin\pdftoppm.exe"

  • 在電腦教室用 記事本 開啟你的 .bat 檔案
  • 點選 檔案 -> 另存新檔
  • 在下方的 編碼 下拉選單中,選擇 ANSI
  • 存檔並覆蓋原檔,再次執行

40 of 51

切割稿紙

05

40

41 of 51

取得CP950

P.41

  • 複製 hw01 中的 \01-1_generate_paper\2_generate_manuscript\CP950
  • 將 CP950 貼到 \02-1_crop_paper 底下

42 of 51

切割校正稿紙

P.42

  1. 資料夾中打開 s2_crop_page.py ,更改 input_folder 的位置,找到校正過的資料夾位置,如:rotated_{學號}_{姓名}_{稿紙標題}
  2. 更改輸出資料夾名稱
  3. 更改 json_path 的位置
  4. 更改此稿紙字數 (請參閱下一張投影片)

43 of 51

切割校正稿紙-稿紙字數統計

P.43

稿紙內容

字數統計

1. 千字文

1000

2. 長恨歌

840

3. 洛神賦

912

4. 詩經

435

5. 部首、注音、日文

528

6. 英文、數字

346

7. 標點符號

356

8. 姓氏名字號

78

  • 請按照右表填入 unicode_num
  • 若出現 IndexError: list index out of range
    • 請檢查 CP950 中的字數是否與此表相同

44 of 51

切割校正稿紙

P.44

執行裁切程式

需輸入開始切割頁面以及結束頁

python s2_crop_page.py

45 of 51

切割校正稿紙

P.45

參數調整

  • 切完字太大或太小,請調整 crop_length

  • 若使用 pdf2png.bat 轉檔,請將 min_box_size 設為 180
  • 若使用 pdf2image 轉檔,請將 min_box_size 設為 200

46 of 51

切割校正稿紙-紙本

P.46

紙本寫字若在切割的時候有缺字,可以將0.12調低至0.1或者0.09之類去做嘗試,因右下角的qrcode位置會因你掃描的機器有所變動,0.12有可能太大會擋住最右下角兩格的偵測。

47 of 51

切割校正稿紙

P.47

切割成功後會產生兩個資料夾: crop 以及 rec_bound

48 of 51

切割校正稿紙

P.48

crop : 切割後的圖片檔

rec_bound: 程式執行時內縮並裁取的範圍

(參考用)

49 of 51

切割校正稿紙

P.49

crop : 切割後的圖片檔

rec_bound: 程式執行時內縮並裁取的範圍

(參考用)

50 of 51

聯絡資訊

06

50

51 of 51

助教聯絡資訊

P.51

  • TA Email
    • 賴秋彤 t114598033@ntut.org.tw
  • Email 標題(主旨)
    • 請按照此格式(X為作業編號) [ai2026s-hwX-學號]