學習Photoshop,想深入了解一下其中的演算法,是否可以看 數字圖像處理 這本書?

  大家好,想請問一下,學Photoshop的同時,是否有必要去學一下數字圖像處理?

  準備入手一本英文版的數字圖像處理,想充分地了解一下RGB、CMYK、HSV、演算法等,是否有必要看這本書?

  感覺學Photoshop有些年了,基本的操作,比如通道運算等,應該算是可以比較好的掌握吧……越到後面的話,發現是在和演算法打交道,一些很專業的東西就越不懂……所以一直很想了解一下一些演算法、顏色的基本原理……感覺之前僅僅是停留在感性的操作上,比如說調整一下顏色等,僅僅是在看圖像的變化,而不是看直方圖和顏色信息。

稍微舉幾個例子:

比如兩個圖層,最簡單顏色不透明度(Opacity),從100%調到0%的話,下面的圖層逐漸會顯示出來…這個不用了解演算法的話,大致也可以懂…不過如果加上一些比較複雜的混合模式,這個不透明度又是怎麼作用的?還有調整圖層的不透明度又是怎麼回事?如果調整圖層再加上混合模式再加上不透明度,又是怎麼一回事?感覺說不通。

後面通過自己的一一步步探索,發現不透明度其實可以表示為:

其中α是不透明度,x是基色,y是混合色。

那如果加上混合圖層…經過反覆的驗證,發現可以推廣為

其中f (x,y)表示混合模式函數,為正常模式(Normal)的時候f (x,y) = x,就是第一個式子,一個特例。

  以上的也是經過反覆摸索才的出來的…感覺也不一定要懂得其中精確的演算法,但是至少懂得邏輯,勝過書上一百平的文字描述。

  後面查找了混合模式的演算法,也才發現很多混合模式效果都是可以解釋,比如疊加模式(overlay),書上說兩個同源圖層用overlay可以增加對比度,為什麼可以增加對比度?這是什麼意思?

根據疊加演算法的計算公式,畫了一下函數圖像,就非常明了:

典型的S曲線,黑的更黑,亮的更亮,一輩子記住了。類似的還有濾掉128以下的色階、濾掉暗調等可以通過演算法、圖像等解釋。勝過一百遍文字描述。

  後面又遇到了,比如RGB模式的圖像,在顏色範圍(Range)裡面,可以選R、G、B,這個比較好理解…那為什麼還會出現RGB互補色Yellow、Cyan、Magenta?如果單純從圖像上看,就是選「有黃色成分」的像素吧?但這個黃色成分表現為灰度又要怎麼衡量?

經過摸索了一下,可以將黃色的強度可以表示為

也就可以轉化為灰度圖像上0-255色階的圖像了,將Yellow用0-255來表示:

  再一個比較複雜的命令,比如可選顏色(Selective color),如圖,可以選R、G、B、C、M、Y、K,然後又可以調節此基礎上調節C、M、Y、K,這個實在是想不通了…到底是怎麼轉換的。單純從圖像上看是可以看出一些規律,實在是看不出什麼名堂。而具體的演算法和邏輯也至今感覺還是不太清清楚。如圖:

  還有,再比如在RGB模式下調節HSB,具體表現在RGB的數值的變化上,是怎麼樣的?有什麼規律?

  有人可能會說,只要懂得用就行了,沒必要懂得那些演算法,又不是搞軟體的,沒必要。我是覺得,命令的演算法可以不要很清楚,但是至少邏輯要清楚,如果可以懂得演算法就更好了,就像那個overlay那個混合模式,即使我記不住他的演算法(也沒必要記住),但是我畫過他的圖像,我非常清楚他的作用機理。而且發現懂得這些東西令我感到很開心,掉進了這個坑感到很開心,即使在Photoshop的實際應用上沒什麼幫助,我也很想進一步學習研究。找了很久,發現好像這個內容需要 數字圖像處理 這門學科的支持。但是自己也不太肯定,因為自己不是這一行的。所以想請教知乎朋友,學一下要 數字圖像處理 是否正確?還是要學習其他的東西?

  真的非常感謝了!


買過一本《計算機視覺特徵提取與圖像處理》英文版,也是同一個系列,綠色封面,很後悔,有三點:

  1. 英文版,專業辭彙多看不懂
  2. 我的數學水平跟不上(感覺最好是有信號處理基礎的人看)
  3. 裡面的示例代碼是Matlab的,得找個 Matlab 安裝(盜版多不好?而且幾個G)

買之前是覺得,即使數學英語基礎不夠,起碼可以從代碼中窺探出一點門道和處理細節,結果用的是 matlab,語法不懂,很多理論看起來也比想像中晦澀得多。


所以作為外行去了解的話,這類英文書顯然不太合適,推薦幾個入手方向:

  • 《圖像處理中的數學修鍊》-- 左飛,這是一本新書。也要數學基礎,但是介紹了所需的數學知識讓你有個修鍊的方向,還能查缺補漏,這是最好不過的。
  • 《計算機圖形學》目前第四版,Donald Hearn 的那本,基於C語言和 OpenGL。這本書是我買過的最好的圖形學書籍之一,講了很多有趣的圖形圖像生成細節,比如直線、貝塞爾曲線的繪製演算法、三角形填充演算法、不規則多邊形填充演算法,顏色混合原理,圖像壓縮演算法概述等等
  • 可以試試了解 OpenCV,基於 Python C/C++ 實踐的都有

另外,對於RGB HSV、曲線工具等方面的知識和使用經驗,我推薦秋涼的

《Lightroom 4高手之道》《Lightroom 5高手之道》(4更詳細,5是補充和更新)

《Photoshop CC數碼攝影后期處理完全自學手冊》

以及 Margulis.D. 的

《photoshop 修色聖典》系列


買書之前可以看看亞馬遜和豆瓣的評論,我個人比較習慣看亞馬遜的評論。


學開汽車沒必要去學發動機原理、變速器結構及電器電路等等吧?學後期及Photoshop,目標也應該是應用專家,而非理論專家,更不必學底層演算法(明知道是個坑)。

如果還是想深度了解Photoshop,推薦關文濤的兩本書:

《選擇的藝術--Photoshop CS 圖像處理深度剖析》

《選擇的藝術--Photoshop CS 圖層通道深度剖析》

--另外,如果你好學並能深入學習的話,就應該有學而致用的精神,不能白浪費時間學習,最起碼學後要能寫出一本小冊子、或一篇論文或其它有用的東西才好。


完全不支持,這本書寫的很爛,或者說中文翻譯版很爛。。千萬別看。

一定要看的話,推薦《計算機視覺:一種現代模型》(好像叫這個名字),原版最好。

還有清華大學的圖像工程,上中下三卷,內容和岡薩雷斯的差不多,但講的清晰多了。


"而且發現懂得這些東西令我感到很開心,掉進了這個坑感到很開心,即使在Photoshop的實際應用上沒什麼幫助,我也很想進一步學習研究。"
既然題主已經樂在其中,所以盡情享受就好,又開心又能學東西,何樂而不為。
說回正題啊,題主能在實際應用中去思考其中的原理,我認為這是很值得鼓勵的事情,支持題主。岡薩雷斯的這本書在圖像處理領域也是很經典的教材了,其中大多是經典的演算法和理論,通讀一遍了解一下濾波,形態學處理,小波變換這些的有益無害,只不過中文譯本很多細節翻譯的實在欠妥。


這要看你自己的目的了,如果對圖像處理底層數學原理有興趣,看看圖像處理的書很有幫助的,當你了解這些後,也可以自己編程實現部分功能。
岡薩雷斯的圖像處理確實是經典,不要因為一些貌似高深的人的嘲諷就直接閱讀逼格更高的書,以大一大二生的知識水平,岡薩雷斯的書是很好的,也有matlab實現過程,這些都值得學習。
如果局限於ps的軟體操作,那就直接看一些教程就行了,也沒必要自己推導底層的演算法原理。


選擇的藝術這本書比較全面的對通道,圖層等這些重要的方面做了個比較全面的總結,看過後會對通道有個透徹的了解,前提是你必須有ps基礎。


個人認為如果只是想學Photoshop的應用,而不做數字圖像處理方面的深入研究的話,那些原理方面可學可不學,當然題主有這方面的興趣,多看看也是好的嘛。
岡薩雷斯那本數字圖像處理堪稱是一本深入淺出的經典了,我們之前專業課就是用的這本書。如果題主有更加深入研究下去並且把原理徹底吃透的興趣,建議可以自己寫個圖像處理的小程序。用MATLAB就可以了,比如說一個簡單圖像銳化的功能,就是兩個for循環加一個空間域濾波運算元就可以實現。但是和Photoshop那種效果相比可能就是小巫見大巫了。


講真是沒有必要的,當然那個什麼rgb都應該是常識了吧,p圖的時候主要應該靠的是自己的藝術細胞和經驗,而不是從圖像中獲取某些信息,那本書主要還是說圖像的變換和圖像信息的挖掘,數學的知識比較多,如果樓主擅長編程的話也可以實現很多東西的,比如什麼用深度學習畫畫啊 。


推薦閱讀:

為什麼在後期製作圖像時,可以讓圖片變得透明…這到底是什麼原理…是改變了原始照片的什麼東西嗎?
這種類似「工筆畫」的畫面效果是怎麼處理的?
level set (水平集)演算法是什麼?
誰能圖文並茂地區分一下 Chroma 和 Saturation 這兩個色彩術語?
如何在photoshop中把字體顏色處理成下面鏈接圖片的樣子?

TAG:AdobePhotoshop | 演算法 | 圖像處理 | RGB | 色彩管理 |