目的
建立一個純網頁版本的「影像處理」平台,預計達成以下功能在影像及影片中
- 調整
- 亮度、對比
- 色階
- 特效
- 柔膚、美肌
- 重複曝光
- 懷舊、老照片
- 黑白、灰階黑白
- 強調色
- 濾鏡
- 像素、馬賽克
- 銳利化、銳化
- 其他
- 綠幕、藍幕影像合成
步驟
- 一開始先從單一圖片開始,格式最簡單的就是 BMP Bitmap 點陣格式了,所以你必須先讀懂這篇 → BMP - 維基百科,自由的百科全書
- 找一張 BMP 圖檔,從頭讀取,根據實際資訊自行產生如文件大小、圖寬高等資訊,拼湊新的圖檔,並且使用圖檔觀看程式查核結果。
- 根據需求將像素重新運算,例如單純的調高亮度,只要把 RGB 各增加一個相同的數值即可。增加越多,
色彩學
顏色在現實生活使用大致分成兩大類:色光 (RGB) 、色料 (CMYK) ,RGB 發出光混色成為白色;CMYK 顏料不發光混色成為黑色,因此 RGB 使用在螢幕上 (黑色背景) ,而 CMYK 則用在紙張印刷上 (白色背景)。
因為使用程式在電腦上實作,因此只討論 RGB 模式。 螢幕上的每個像素都是由 RGB 組成的,在 24bit 的顏色深度中,RGB 各佔了 8bit (8+8+8=24) 8bit = 28 = 1111 1111 1111 1111 = 0xFF = 256,RGB 個別強度為 0-255 之間的範圍
▼ 下圖為 RGB 的立體模型,上方頂點為綠色 G、左方是紅色 R、右方就是藍色 B,所以三色交點就是白色 (255,255,255)
1 2 3 4 5 6 7 8 9 10 |
00000000 42 4d 8a bb 17 00 00 00 00 00 8a 00 00 00 7c 00 |BM............|.| 00000010 00 00 c0 03 00 00 1c 02 00 00 01 00 18 00 00 00 |................| 00000020 00 00 00 bb 17 00 00 00 00 00 00 00 00 00 00 00 |................| 00000030 00 00 00 00 00 00 00 00 ff 00 00 ff 00 00 ff 00 |................| 00000040 00 00 00 00 00 ff 42 47 52 73 80 c2 f5 28 60 b8 |......BGRs...(`.| 00000050 1e 15 20 85 eb 01 40 33 33 13 80 66 66 26 40 66 |.. ...@33..ff&@f| 00000060 66 06 a0 99 99 09 3c 0a d7 03 24 5c 8f 32 00 00 |f.....<...$\.2..| 00000070 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 |................| 00000080 00 00 00 00 00 00 00 00 00 00 4f 81 5b 51 83 5d |..........O.[Q.]| 00000090 54 86 61 51 83 5d 4b 7d 57 49 7b 55 47 79 53 43 |T.aQ.]K}WI{UGySC| |
最後面大概長這樣子
1 2 3 |
0017bb20 78 50 74 67 4b 6a 5e 50 70 63 57 7a 69 5e 83 6d |xPtgKj^PpcWzi^.m| 0017bb30 5e 88 70 59 89 70 |^.pY.p| 0017bb36 |
進制轉換
1 2 3 4 5 6 |
bindec() ― 二進制轉換爲十進制 decbin() ― 十進制轉換爲二進制 dechex() ― 十進制轉換爲十六進制 decoct() ― 十進制轉換爲八進制 hexdec() ― 十六進制轉換爲十進制 octdec() ― 八進制轉換爲十進制 |
1 |
convert -geometry 960x540 xxx.bmp yyy_540p.bmp |
綠幕合成
動作:使用轉換圖檔置換掉目標圖檔的背景設定色,一般為綠或藍色。 關鍵:正確的抓取背景色以及判斷物體邊緣,判斷是否更多的移除毛邊或過度渲染適度減低背景色處理。 影像處理最重要的就是「抓到想要的資料 (範圍)」 使用程式處理主要就是想避免人工作業,因此如何根據需求「簡單的」就抓到關鍵點就是
重複曝光
動作:將兩張圖「加起來」 關鍵: 假設每張圖的 RGB 皆為 100% ,兩圖直接相加就是 200% ,很明顯這不是我們要得,因此必須設定各自的比例。 ▼ 使用各 50% 融合的重複曝光圖 灰階黑白 ▼ 三色平均法 取最大值法
黑與白 (二分法) 動作:三色相加,大於中間值就設定為純黑;否則就是純白 關鍵: 不要加錯了 ... (256+256+256)/2 批次作業
1 |
mogrify -path fullpathto/temp2 -resize 60x60% -quality 60 -format jpg *.png |
366 張 約為 2 分鐘
1 2 3 |
最近由 hoyo 編輯,時間:2013/08/12 於 00:12:20 現在都 2014/11/20 了,實在是沒時間搞這個專案,所以每次看到一些電腦特效影片就很有感,繼續放著好了,希望有一天有小精靈可以半夜幫我完成... PHP 程式碼就等更有空的時候再來補,現在臨時找也一定找不到 = =a |
3,129 total views, 2 views today