91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

通過python改變圖片特定區域的顏色詳解

發布時間:2020-09-02 19:32:41 來源:腳本之家 閱讀:313 作者:Jeru_d39e 欄目:開發技術

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

通過python改變圖片特定區域的顏色詳解

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

通過python改變圖片特定區域的顏色詳解

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

計算機分析圖片不可能像人類的肉眼一樣進行觀察,再用右腦進行思考,它能識別的只有數字,下面我們從計算機的角度來對圖片做一個簡單的認知。

機器的認知中任何一個圖片都是由很多像素排列組成,每個像素點就是圖片組成的最小原子,因此圖片可以看作是一個二維數組,包含坐標和顏色。

其中坐標可以繼續拆成一個二維數組分別是X軸和Y軸,而顏色用RGB來表示則可拆解為紅綠藍三維數組。

我先用python來幾行簡單代碼把數學王子的照片轉化為數組看看到底是什么內容。

通過python改變圖片特定區域的顏色詳解

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

打印像素

通過python改變圖片特定區域的顏色詳解

核對像素

通過python改變圖片特定區域的顏色詳解

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

選取范圍

通過python改變圖片特定區域的顏色詳解

采樣打印

通過python改變圖片特定區域的顏色詳解

通過python改變圖片特定區域的顏色詳解

打印矩陣

通過python改變圖片特定區域的顏色詳解

簡單分析一下規律,其實帽子,背景,皮膚的顏色色差還是比較明顯的。為了讓帽子從黑色變成紅色就把RGB定為(200, 20, 20)先來兩個兩重循環把兩個長方形拼接的范圍都替換掉,重新調出圖片看看效果,已經成功刷上紅色了,接下來就要看如何更精準的上色。

通過python改變圖片特定區域的顏色詳解

通過python改變圖片特定區域的顏色詳解

接下來判斷一下這個范圍內的像素顏色哪些應該替換哪些應該保留。隨便根據經驗設置一下參數,看看效果再調整幾次。

我選擇的判斷條件是RGB均小于45, 比較保守,因為畫多了比較麻煩,畫少了還可以修復。運行一下,果然按這個參數上色后覆蓋不均勻,于是我加了個簡單粗暴的顏色擴散方法,判斷一下左右兩邊或者上下是否有紅色,有則替換當前像素為紅色。對比間距從大到小(10, 5, 2)修復了三次后效果就差不多了。

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

通過python改變圖片特定區域的顏色詳解

通過python改變圖片特定區域的顏色詳解

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘孜县| 都昌县| 全南县| 板桥市| 比如县| 莲花县| 兴海县| 莱芜市| 嫩江县| 册亨县| 抚远县| 淮阳县| 洛浦县| 新巴尔虎左旗| 千阳县| 敦化市| 苏尼特左旗| 三台县| 余姚市| 东乡县| 武陟县| 小金县| 固镇县| 德兴市| 隆尧县| 巩留县| 白朗县| 邵阳市| 西平县| 屏东市| 望谟县| 兴隆县| 西乌| 长汀县| 永康市| 囊谦县| 周宁县| 托里县| 扎鲁特旗| 克拉玛依市| 应城市|