用Python給高斯的帽子換顏色 - 你媽媽都能看懂

首先讓我祭出一張數(shù)學(xué)王子高斯的照片,這位印在德國馬克上的神人有多牛呢? 他是近代數(shù)學(xué)的奠基人之一拍鲤,與牛頓, 阿基米德并稱頂級三大數(shù)學(xué)家十性,隨便找一個編程語言的數(shù)學(xué)庫斤富,里面一定有和他名字相關(guān)的一堆函數(shù)熊尉。

開始正文之前罐柳,讓我們再來膜拜一下19歲的高斯如何用一把圓規(guī)和沒有刻度的尺子畫出正十七邊形。

下面我就拿高斯這張肖像畫作為示例如何用Python將他帽子的顏色換了狰住。

計算機(jī)分析圖片不可能像人類的肉眼一樣進(jìn)行觀察张吉,再用右腦進(jìn)行思考,它能識別的只有數(shù)字催植,下面我們從計算機(jī)的角度來對圖片做一個簡單的認(rèn)知肮蛹。

機(jī)器的認(rèn)知中任何一個圖片都是由很多像素排列組成,每個像素點(diǎn)就是圖片組成的最小原子创南,因此圖片可以看作是一個二維數(shù)組蔗崎,包含坐標(biāo)和顏色。
其中坐標(biāo)可以繼續(xù)拆成一個二維數(shù)組分別是X軸和Y軸扰藕,而顏色用RGB來表示則可拆解為紅綠藍(lán)三維數(shù)組。

我先用python來幾行簡單代碼把數(shù)學(xué)王子的照片轉(zhuǎn)化為數(shù)組看看到底是什么內(nèi)容芳撒。

看看打印結(jié)果的輸出邓深,這張圖的像素有607行(寬度),474列(高度)笔刹,也就是287718個像素組成了這張圖片芥备。我再用photoshop打開這張圖片看看像素大小,完全匹配舌菜。

打印像素
核對像素

接下來再來幾行代碼把整張圖片的矩陣打印出來看看萌壳,同時用photoshop框選一下高斯帽子的范圍,大概是兩個矩形的拼接日月,在此范圍內(nèi)我也挑幾個點(diǎn)(帽子袱瓮,皮膚,背景)打印出來看看爱咬。
為何是兩個矩形? 因為大神的眼珠也是黑色和帽子比較相似尺借,所以繞道劃取范圍。

選取范圍
采樣打印
打印矩陣

簡單分析一下規(guī)律精拟,其實帽子燎斩,背景虱歪,皮膚的顏色色差還是比較明顯的。為了讓帽子從黑色變成紅色就把RGB定為(200, 20, 20)
先來兩個兩重循環(huán)把兩個長方形拼接的范圍都替換掉栅表,重新調(diào)出圖片看看效果笋鄙,已經(jīng)成功刷上紅色了,接下來就要看如何更精準(zhǔn)的上色怪瓶。

接下來判斷一下這個范圍內(nèi)的像素顏色哪些應(yīng)該替換哪些應(yīng)該保留萧落。隨便根據(jù)經(jīng)驗設(shè)置一下參數(shù),看看效果再調(diào)整幾次劳殖。
我選擇的判斷條件是RGB均小于45铐尚, 比較保守,因為畫多了比較麻煩哆姻,畫少了還可以修復(fù)宣增。
運(yùn)行一下,果然按這個參數(shù)上色后覆蓋不均勻矛缨,于是我加了個簡單粗暴的顏色擴(kuò)散方法爹脾,判斷一下左右兩邊或者上下是否有紅色,有則替換當(dāng)前像素為紅色箕昭。
對比間距從大到小(10, 5, 2)修復(fù)了三次后效果就差不多了灵妨。

到此為止帽子的邊緣還比較毛糙,顏色擴(kuò)散的方式也比較粗暴落竹,下一篇再研究如何用OpenCV的Canny Edge Detection勾畫圖案邊緣泌霍,用Gaussian Blurring(看,高斯的名字又出現(xiàn)了)平滑處理交界處述召。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末朱转,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子积暖,更是在濱河造成了極大的恐慌藤为,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夺刑,死亡現(xiàn)場離奇詭異缅疟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)遍愿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門存淫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人错览,你說我怎么就攤上這事纫雁。” “怎么了倾哺?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵轧邪,是天一觀的道長刽脖。 經(jīng)常有香客問我,道長忌愚,這世上最難降的妖魔是什么曲管? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮硕糊,結(jié)果婚禮上院水,老公的妹妹穿的比我還像新娘。我一直安慰自己简十,他們只是感情好檬某,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著螟蝙,像睡著了一般恢恼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胰默,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天场斑,我揣著相機(jī)與錄音,去河邊找鬼牵署。 笑死漏隐,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的奴迅。 我是一名探鬼主播青责,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼取具!你這毒婦竟也來了爽柒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤者填,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后做葵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體占哟,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年酿矢,在試婚紗的時候發(fā)現(xiàn)自己被綠了榨乎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡瘫筐,死狀恐怖蜜暑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情策肝,我是刑警寧澤肛捍,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布隐绵,位于F島的核電站,受9級特大地震影響拙毫,放射性物質(zhì)發(fā)生泄漏依许。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一缀蹄、第九天 我趴在偏房一處隱蔽的房頂上張望峭跳。 院中可真熱鬧,春花似錦缺前、人聲如沸蛀醉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拯刁。三九已至,卻和暖如春肆良,著一層夾襖步出監(jiān)牢的瞬間筛璧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工惹恃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留夭谤,地道東北人。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓巫糙,卻偏偏與公主長得像朗儒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子参淹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容