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

Python通過PIL獲取圖片主要顏色并和顏色庫進(jìn)行對比的方法

 更新時間:2015年03月19日 16:56:06   作者:liuli  
這篇文章主要介紹了Python通過PIL獲取圖片主要顏色并和顏色庫進(jìn)行對比的方法,實例分析了Python通過PIL模塊操作圖片的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Python通過PIL獲取圖片主要顏色并和顏色庫進(jìn)行對比的方法。分享給大家供大家參考。具體分析如下:

這段代碼主要用來從圖片提取其主要顏色,類似Goolge和Baidu的圖片搜索時可以指定按照顏色搜索,所以我們先需要將每張圖片的主要顏色提取出來,然后將顏色劃分到與其最接近的顏色段上,然后就可以按照顏色搜索了。

在使用google或者baidu搜圖的時候會發(fā)現(xiàn)有一個圖片顏色選項,感覺非常有意思,有人可能會想這肯定是人為的去劃分的,呵呵,有這種可能,但是估計人會累死,開個玩笑,當(dāng)然是通過機(jī)器識別的,海量的圖片只有機(jī)器識別才能做到。

那用python能不能實現(xiàn)這種功能呢?答案是:能

利用python的PIL模塊的強(qiáng)大的圖像處理功能就可以做到,下面上代碼:

復(fù)制代碼 代碼如下:
import colorsys
def get_dominant_color(image):
#顏色模式轉(zhuǎn)換,以便輸出rgb顏色值
    image = image.convert('RGBA')
#生成縮略圖,減少計算量,減小cpu壓力
    image.thumbnail((200, 200))
    max_score = None
    dominant_color = None
    for count, (r, g, b, a) in image.getcolors(image.size[0] * image.size[1]):
        # 跳過純黑色
        if a == 0:
            continue
        saturation = colorsys.rgb_to_hsv(r / 255.0, g / 255.0, b / 255.0)[1]
        y = min(abs(r * 2104 + g * 4130 + b * 802 + 4096 + 131072) >> 13, 235)
        y = (y - 16.0) / (235 - 16)
        # 忽略高亮色
        if y > 0.9:
            continue
        # Calculate the score, preferring highly saturated colors.
        # Add 0.1 to the saturation so we don't completely ignore grayscale
        # colors by multiplying the count by zero, but still give them a low
        # weight.
        score = (saturation + 0.1) * count
        if score > max_score:
            max_score = score
            dominant_color = (r, g, b)
    return dominant_color

使用方法:

from PIL import Image
print get_dominant_color(Image.open('logo.jpg'))

這樣就會返回一個rgb顏色,但是這個值是很精確的范圍,那我們?nèi)绾螌崿F(xiàn)百度圖片那樣的色域呢??

其實方法很簡單,r/g/b都是0-255的值,我們只要把這三個值分別劃分相等的區(qū)間,然后組合,取近似值。例如:劃分為0-127,和128-255,然后自由組合,可以出現(xiàn)八種組合,然后從中挑出比較有代表性的顏色即可。

當(dāng)然我只是舉一個例子,你也可以劃分的更細(xì),那樣顯示的顏色就會更準(zhǔn)確~~大家趕快試試吧

希望本文所述對大家的python程序設(shè)計有所幫助。

相關(guān)文章

  • Python強(qiáng)大的自省機(jī)制詳解

    Python強(qiáng)大的自省機(jī)制詳解

    這篇文章主要為大家介紹了Python強(qiáng)大的自省機(jī)制,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Scrapy框架中的Pipeline使用詳解

    Scrapy框架中的Pipeline使用詳解

    這篇文章主要介紹了Scrapy框架中的Pipeline使用詳解,Scrapy 中的 Pipeline 為我們提供了處理數(shù)據(jù)的功能,在實際開發(fā)中我們經(jīng)常使用它來清洗/驗證數(shù)據(jù)、去重和數(shù)據(jù)保存,需要的朋友可以參考下
    2023-10-10
  • python實現(xiàn)nao機(jī)器人手臂動作控制

    python實現(xiàn)nao機(jī)器人手臂動作控制

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)nao機(jī)器人手臂動作控制,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • django使用admin站點上傳圖片的實例

    django使用admin站點上傳圖片的實例

    今天小編就為大家分享一篇django使用admin站點上傳圖片的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Pandas出現(xiàn)KeyError的問題解決及分析

    Pandas出現(xiàn)KeyError的問題解決及分析

    本文主要介紹了Pandas出現(xiàn)KeyError的問題解決及分析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 詳解Ubuntu環(huán)境下部署Django+uwsgi+nginx總結(jié)

    詳解Ubuntu環(huán)境下部署Django+uwsgi+nginx總結(jié)

    這篇文章主要介紹了Ubuntu環(huán)境下部署Django+uwsgi+nginx總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 修改Python的pyxmpp2中的主循環(huán)使其提高性能

    修改Python的pyxmpp2中的主循環(huán)使其提高性能

    這篇文章主要介紹了修改Python的pyxmpp2中的主循環(huán)使其提高性能,pyxmpp2是Python中使用需XMPP協(xié)議的一個常用工具,要的朋友可以參考下
    2015-04-04
  • 解決python列表list中的截取問題

    解決python列表list中的截取問題

    這篇文章主要介紹了解決python列表list中的截取問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python代碼有一行標(biāo)黃問題的解決方案

    python代碼有一行標(biāo)黃問題的解決方案

    這篇文章主要介紹了python代碼有一行標(biāo)黃問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python3.4實現(xiàn)從HTTP代理網(wǎng)站批量獲取代理并篩選的方法示例

    Python3.4實現(xiàn)從HTTP代理網(wǎng)站批量獲取代理并篩選的方法示例

    這篇文章主要介紹了Python3.4實現(xiàn)從HTTP代理網(wǎng)站批量獲取代理并篩選的方法,涉及Python網(wǎng)絡(luò)連接、讀取、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09

最新評論

雷山县| 施甸县| 云龙县| 绥化市| 齐河县| 中山市| 包头市| 股票| 中卫市| 开远市| 陕西省| 莎车县| 呈贡县| 永安市| 浑源县| 红河县| 建瓯市| 河西区| 华容县| 涞水县| 岳阳县| 汉沽区| 舟曲县| 景德镇市| 绍兴市| 淳化县| 岱山县| 四川省| 连平县| 鄂托克前旗| 云南省| 黑龙江省| 景东| 滨州市| 丽江市| 荃湾区| 汤原县| 建阳市| 古蔺县| 青海省| 阿合奇县|