最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年07月15日 16:15:47   作者:Jeru_d39e  
這篇文章主要介紹了通過python改變圖片特定區(qū)域的顏色詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

首先讓我祭出一張數(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)知中任何一個圖片都是由很多像素排列組成,每個像素點就是圖片組成的最小原子,因此圖片可以看作是一個二維數(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)我也挑幾個點(帽子,皮膚,背景)打印出來看看。為何是兩個矩形? 因為大神的眼珠也是黑色和帽子比較相似,所以繞道劃取范圍。

選取范圍

采樣打印

打印矩陣

簡單分析一下規(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ù)。運行一下,果然按這個參數(shù)上色后覆蓋不均勻,于是我加了個簡單粗暴的顏色擴(kuò)散方法,判斷一下左右兩邊或者上下是否有紅色,有則替換當(dāng)前像素為紅色。對比間距從大到小(10, 5, 2)修復(fù)了三次后效果就差不多了。

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python分割列表(list)的方法示例

    python分割列表(list)的方法示例

    這篇文章主要給大家介紹了python分割列表(list)的方法,文中給出了詳細(xì)的示例代碼大家參考學(xué)習(xí),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • Python  中的pass語句語法詳析

    Python  中的pass語句語法詳析

    這篇文章主要介紹了Python 中的pass語句語法詳析,pass是一種空操作(null operation),解釋器執(zhí)行到它的時候,除了檢查語法是否合法,什么也不做就直接跳過
    2022-07-07
  • pandas進(jìn)行時間數(shù)據(jù)的轉(zhuǎn)換和計算時間差并提取年月日

    pandas進(jìn)行時間數(shù)據(jù)的轉(zhuǎn)換和計算時間差并提取年月日

    這篇文章主要介紹了pandas進(jìn)行時間數(shù)據(jù)的轉(zhuǎn)換和計算時間差并提取年月日,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python使用ddddocr庫識別滑動驗證碼簡單代碼示例

    python使用ddddocr庫識別滑動驗證碼簡單代碼示例

    這篇文章主要介紹了如何使用ddddocr庫來識別滑塊驗證碼,并提供了一個示例代碼和識別結(jié)果,同時提醒注意ddddocr庫的大小限制,可能會影響某些無服務(wù)器函數(shù)的部署,需要的朋友可以參考下
    2024-11-11
  • Python裝飾器原理與基本用法分析

    Python裝飾器原理與基本用法分析

    這篇文章主要介紹了Python裝飾器原理與基本用法,結(jié)合實例形式分析了Python裝飾器的基本功能、原理、用法與操作注意事項,需要的朋友可以參考下
    2020-01-01
  • Python接口自動化淺析unittest單元測試原理

    Python接口自動化淺析unittest單元測試原理

    這篇文章主要介紹了Python接口自動化淺析unittest單元測試原理,文中描述了單元測試,unittest模塊特性、大致流程、源碼及實戰(zhàn)例子這幾個模塊,有需要的朋友可以借鑒參考下
    2021-08-08
  • 解決Pycharm 運行后沒有輸出的問題

    解決Pycharm 運行后沒有輸出的問題

    這篇文章主要介紹了解決Pycharm 運行后沒有輸出的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Python3第三方模塊之Pillow模塊的使用詳解

    Python3第三方模塊之Pillow模塊的使用詳解

    這篇文章主要介紹了Python3第三方模塊之Pillow模塊的使用詳解,在 pillow之前處理圖形的庫莫過于PIL,但是它支持到python2.7,年久失修,于是一群志愿者在PIL的基礎(chǔ)上常見了pillow,支持python3,又豐富和功能特性,需要的朋友可以參考下
    2023-10-10
  • 用 python 進(jìn)行微信好友信息分析

    用 python 進(jìn)行微信好友信息分析

    這篇文章主要介紹了用 python 進(jìn)行微信好友信息分析的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • 使用python爬取連續(xù)降水?dāng)?shù)據(jù)信息實例

    使用python爬取連續(xù)降水?dāng)?shù)據(jù)信息實例

    這篇文章主要為大家介紹了使用python提取連續(xù)降水?dāng)?shù)據(jù)信息實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01

最新評論

桐乡市| 碌曲县| 凤城市| 江源县| 井陉县| 奉节县| 禹州市| 德州市| 长丰县| 山丹县| 鱼台县| 西峡县| 蒲城县| 黑河市| 六盘水市| 许昌市| 富宁县| 内丘县| 平南县| 疏勒县| 黎川县| 红原县| 和政县| 开原市| 辽宁省| 浦江县| 浮梁县| 长宁县| 班戈县| 太谷县| 运城市| 栾城县| 海晏县| 达孜县| 周至县| 囊谦县| 天峻县| 元阳县| 海丰县| 温州市| 龙海市|