← 文章

請 AI 從幾百張旅行照片挑十張:縮圖總覽、放大看對焦、地點要查證

發布 2026-11-02・更新 2026-11-02・約 7 分鐘讀完

這篇寫給喜歡拍照、照片多到挑不完的人,不用會寫程式。我請 Claude 從幾百張旅行照片裡挑出網站要放的幾張,這裡記下它怎麼挑,以及我怎麼確認它沒挑錯、沒寫錯。挑出來的照片在攝影與遊記。

Claude 是 Anthropic 做的 AI。我用的是 Claude Code,它在我的電腦上執行,可以直接打開外接硬碟裡的照片資料夾。文中的數字都是 2026-11-02 的狀態。

先講結論

AI 很適合做第一輪:幾百張照片排成縮圖,它很快就能分出好的、普通的、重複的。縮圖看不出來的事,要放大看或讀照片檔裡的資料;地點和有沒有人入鏡,不該讓它自己決定。

11 月 1 日我放了前兩趟遊記,11 月 2 日又放了三趟。過程中被抓到的錯,有一個是從縮圖猜出來的:一句寫錯的照片說明。近拍的照片,也都是放大看過對焦才留下。

為什麼挑照片最花時間

我的照片放在外接硬碟的「數位暗房」,一趟旅程一個資料夾。修好、匯出的完稿放在 RawJpg 資料夾。RAW 是相機存下的原始檔,要用修圖軟體調過才變成一般照片。網站上一趟只放幾張,配一段短短的遊記。

旅程 完稿照片 網站放的
九寨溝與黃龍 247 張,其中 11 張是人像,不選 14 張
三層坪 85 張 12 張
北埔大湖六塘落羽松 3 張,另有相機直出的 JPG 253 張 9 張
烏來內洞 13 張 8 張
象山看 101 夜景 6 張,另有一張合成照放在外層 6 張

挑照片累的不是按刪除,是要一張一張比:這張跟上一張差在哪、焦有沒有對到、有沒有拍到路人。我一開始只是問 Claude「我怎樣挑照片」,後來就變成請它直接幫我挑。

縮圖總覽:一次看一整批

縮圖總覽(contact sheet)是把一批照片縮小、排成格子,每格標上編號和檔名。Claude 一次看一張這種圖,一張排幾十張,最多 64 張。

同一個位置連拍的幾張排在一起,哪幾張重複一眼就看得出來。有編號也好溝通:九寨溝那趟它建議放 10 張,說明裡寫拿掉 #37、#56,因為跟其他張重複,我不用打開檔案就知道是哪兩張。檔名則讓它挑完能找回原檔。

請它打一到五顆星

第一天我問 Claude,能不能幫我沒評過的照片打一到五顆星。它的做法是看縮圖總覽、量每張的曝光和清晰度、讀拍攝參數,逐張評分;高星的和疑似失焦的,放大到原尺寸再確認。同一個位置連拍好幾張,只有最好的那張拿高星,其餘給 2 星。

旅程 張數 5 星 4 星 3 星 2 星 1 星
三層坪 85 4 20 26 33 2
九寨溝與黃龍 236 4 37 96 99 0

當時網站上的照片全在 4 星以上。我照它的建議調整:九寨溝換 2 張、加 2 張,三層坪換 1 張、加 2 張,兩趟都變成 12 張。拿到 1 星的兩張都在三層坪,一張光圈開到 f2.8、前景的樹幹沒對到焦,另一張頂端有一片失焦的葉子。

我想在 Mac 的 Finder 裡直接看到星等,Claude 就把它寫成 Finder 的標籤和註解:「5星」紅色、「4星」橙色,註解寫「Claude 評 N 星(2026-11-01):理由」,兩趟共 321 張,照片本身沒動。照片檔裡也有地方可以存星等(XMP,一種附在照片檔裡的資料),但 Finder 不顯示,搜尋也篩不出來,所以沒用。

挑選的規則

後面三趟(象山、內洞、落羽松)就照這幾條挑:

規則 實際的例子
先用完稿,不夠才用相機直出的 JPG 落羽松那趟的完稿只有 3 張,其中兩張幾乎一樣,另外從相機直出的 JPG 補了 7 張
幾乎一樣的只留一張 象山有兩張合成照只差一點點,只放一張
遠景、近景都要有 落羽松有 17mm 廣角拍的整排倒影,也有 200mm 長鏡頭近拍的睡蓮
有人入鏡的先不放,等我決定 九寨溝的候選照都放大確認過沒有路人;內洞那趟有 6 張手機拍的我的背影,我說要放一張,選了 IMG_1020 裁得比較緊的修圖版;落羽松同一天的人像照沒放
地點不確定的不放 落羽松資料夾裡有 7 張手機照(芒草、水庫),不確定在哪裡拍的,沒放

相機直出的 JPG,是相機自己轉好的照片,沒經過我調色。

放大到 100% 看對焦

縮圖最騙人的是對焦。放大到 100%,就是照片的一個像素對螢幕上的一個點,細節才看得出來。

Claude 一開始也替每張照片算了清晰度分數。這類分數常見的算法,是看整張照片裡有多少明暗變化很快的邊緣,邊緣越多分數越高。寫這類程式教學的作者也提醒,分數要多高才算清楚,得拿你自己的照片來調(Rosebrock,2015)。

麻煩出在景深。景深是照片裡從近到遠都清楚的那段距離。光圈開大(f 後面的數字小)、用長鏡頭,景深就淺:主體清楚,背景糊成一片。糊掉的背景幾乎沒有邊緣,整張算下來分數就被拉低,主體再清楚也一樣。一篇研究人像照清晰度的論文也指出,傳統的清晰度演算法會把這種照片判成不清楚,因為對到焦的範圍比模糊的部分小很多;他們建議只評估本來該對焦的那一塊(Vysotska 等,2024)。

所以 Claude 改成把主體那一塊裁出來,放大到 100% 看。落羽松那趟的公雞是 200mm、f2.8 拍的,同一隻連拍好幾張,裁出來比,留下羽毛最清楚的那張。兩張睡蓮近拍也是同樣的設定,一樣放大看過才留下。裁的位置也要對準主體,裁到背景,看到的只會是一片糊。

讀拍攝資料,寫老實的遊記

相機每拍一張,都會把拍攝時間、相機型號、光圈、快門、焦距寫進檔案,這叫 EXIF。手機或有 GPS 的相機,還會寫進拍攝地點。

Claude 寫遊記前會先讀這些資料:

  1. 寫準時間。象山那趟網站上的 6 張,從 18:35 拍到 19:34。18:35 那張太陽還在 101 旁邊,遊記就寫「六點半的時候太陽還掛在 101 旁邊」;曝光最長的一張是 30 秒。其中幾張是 HDR:同一個角度拍幾張亮度不同的照片,合成一張,亮的天空和暗的街道才能同時看清楚。三層坪的資料是上午 9:31 到 11:16、瀑布一張曝 8 到 30 秒、白鷺鷥那張 1/640 秒,遊記就寫這些。
  2. 照拍攝順序排。網站照檔名排列,手機和相機的檔名規則不一樣。內洞那張背影是最後拍的,複製時在檔名前面加上跟相機照片一樣的前綴,讓它排在最後。
  3. 只寫看得到的。九寨溝那篇只寫照片和拍攝時間看得出來的事:第一天上午陰天、有雪,下午 1 點已經放晴;第二天先經過寺院,再走木棧道,最後看到鈣華池。我那天心情怎樣,它不寫。

地點和照片說明要查證

照片說明會變成網頁上每張照片的替代文字。替代文字是圖片載不出來、或用螢幕閱讀器的人會讀到的那句話,搜尋引擎也會讀。寫錯了不容易被發現,所以要對著大圖查。

  • 我自己也會講錯。第二天我先說要「小烏來瀑布」那趟,後來改口,要的是內洞那趟,原本說的那趟就整個不用。
  • 落羽松的照片沒有 GPS。Claude 沒有猜地點,等我給了一篇介紹新竹北埔大湖六塘的部落格文章,再對照照片:看板上的柿子吉祥物對得上,才把地點寫進去。這三趟遊記的「關於」段落都附上資料出處。
  • 落羽松有一張公雞,Claude 看縮圖時寫成公雞在樹下,看了處理好的大圖才發現牠站在石頭上,改成「站在石頭上的公雞」。
  • 攝影頁原本有一區「精選」,只有 4 張,單獨放著有點怪。拿去跟暗房原檔比對:一張跟九寨溝遊記裡的是同一張,一張是同一個場景,另外兩張併進九寨溝,那趟變成 14 張。

挑完之後交給程式

挑照片要我和 AI 一起判斷,後面的步驟就固定了:

步驟 做什麼
複製到「網站精選」 挑中的照片複製到該趟資料夾裡的 網站精選,只複製不搬,完稿原檔不動
遊記寫在筆記裡 文字是 Obsidian(一套筆記軟體)裡的一篇筆記,篇首標「網站: 發布」才會上網站;照片說明不顯示成文字,而是變成替代文字
跑一行指令 npm run photos:照片長邊縮到 2048 像素、拿掉 GPS 和相機資料(包含相機序號)、右下角壓上 LOGO 浮水印(底下暗就用白色,亮就用墨藍)、每趟最多 16 張

這個指令每次整個重建,要改內容就改筆記,不改網站裡的檔案。GPS 拿掉之後,別人下載網站上的照片,也看不到拍攝位置。

想用 ChatGPT 或 Claude 自己試

聊天版的 ChatGPT、Claude 都能看圖。不用寫程式,可以照這幾步:

  1. 傳縮圖總覽,不要一張一張傳 300 張。Mac 的 Finder 或 Windows 的檔案總管切成大圖示,檔名就在縮圖底下,截一張圖就是縮圖總覽。一次傳一批,告訴它這是哪一趟、你想放幾張。
  2. 請它打星等,每張附一句理由。順便說「同一個位置連拍的,只給最好的那張高分」,重複的就會浮出來。
  3. 請它列出「從縮圖看不出來的事」:焦有沒有對到、有沒有路人、細節清不清楚。這張清單就是你要自己檢查的項目。
  4. 對焦自己放大看。高分的候選照,在電腦上放大到 100% 看主體,或把主體那一塊裁下來傳給它。背景糊掉的照片,不要只看一個清晰度分數。
  5. 地點不要讓它猜。照片沒有 GPS,就自己找資料給它,再一起對照照片裡的招牌、看板。
  6. 照片說明對著大圖寫,不要對著縮圖寫。
  7. 拍攝資料自己給。截圖裡沒有拍攝時間和快門這些資料,要寫準就自己抄給它。Mac 的「預覽程式」打開照片後,按工具列的「資訊」按鈕就能查看照片的相關資訊。
  8. 有人入鏡的照片,自己決定放不放。

參考資料