日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python實現(xiàn)數(shù)字圖像處理經(jīng)典算法之256色轉(zhuǎn)灰度圖

系統(tǒng) 1953 0

算法介紹

256色轉(zhuǎn)灰度圖是數(shù)字圖像處理經(jīng)典算法中最簡單的算法之一

1、彩色數(shù)字圖像中的顏色有紅、綠、藍三種顏色混合而成,對應(yīng)的像素顏色通道就是RGB(R,G,B),R、G、B數(shù)值共有256個數(shù)值,也稱為256階,即0—255,計算機通過讀取每一個通道的數(shù)值而確定顯示的顏色。

2、灰度圖像只有一個灰度色階通道,我們可以標記為Gray,或者RGB(Gray、Gray、Gray),Gray共有256階,即0—255,計算機通過讀取該通道的值確定顯示的顏色。

那么將彩色圖像轉(zhuǎn)換為灰色圖像的思路就是將RGB數(shù)值轉(zhuǎn)化為Gray數(shù)值。共有5種轉(zhuǎn)化方式:
(1)浮點算法 :Gray=R * 0.3+G * 0.59+B * 0.11
(2)整數(shù)算法:Gray=(R * 30+G * 59+B * 11)/100
(3)移位算法:Gray =(R 28+G 151+B*77)>>8
(4)平均值法:Gray=(R+G+B)/3
(5)僅取綠色:Gray=G
下面我將使用Python語言分別實現(xiàn)上述5種方法并查看效果,操作的圖像如下所示:
Python實現(xiàn)數(shù)字圖像處理經(jīng)典算法之256色轉(zhuǎn)灰度圖_第1張圖片

代碼實現(xiàn)

在介紹實現(xiàn)代碼之前先介紹我們代碼中借助的一個類庫Matplotlib,它提供了將圖像轉(zhuǎn)化為數(shù)組的方法array,我們得到圖像數(shù)組后可以使用坐標得到圖像的顏色元組,里面有我們需要的顏色數(shù)值信息。
(1)浮點算法 :Gray=R * 0.3+G * 0.59+B * 0.11
代碼如下:

            
              from PIL import Image
from pylab import *

im = array(Image.open('flower.jpg'))
im[:,:,0] = im[:,:,1] = im[:,:,2] = (im[:,:,0] * 0.3 + im[:,:,1] * 0.59 + im[:,:,2] * 0.11)
imshow(im)
show()

            
          

效果如下:
Python實現(xiàn)數(shù)字圖像處理經(jīng)典算法之256色轉(zhuǎn)灰度圖_第2張圖片
代碼講解:
1、array(Image.open(‘flower.jpg’))可以將一個圖像打開并且轉(zhuǎn)化為數(shù)組類型,數(shù)據(jù)類型為元組,里面包含RGB數(shù)值信息
2、im[x,y,t]表示(x,y)坐標像素的t通道的數(shù)值,不明白 :的話建議復(fù)習(xí)Python,im[:,:,0] = im[:,:,1] = im[:,:,2] = (im[:,:,0] * 0.3 + im[:,:,1] * 0.59 + im[:,:,2] * 0.11)就將所有像素的所有通道值都改為重新計算后的值,也就是我們的浮點算法
3、最后是顯示圖像。

(4)平均值法:Gray=(R+G+B)/3
代碼如下:

            
              from PIL import Image
from pylab import *

im = array(Image.open('flower.jpg'))
im[:,:,0] = im[:,:,1] = im[:,:,2] = (im[:,:,0] + im[:,:,1] + im[:,:,2])/3
imshow(im)
show()

            
          

效果如下:
Python實現(xiàn)數(shù)字圖像處理經(jīng)典算法之256色轉(zhuǎn)灰度圖_第3張圖片
代碼講解:
其實和上一個大體一樣,只是算法不一樣

(5)僅取綠色:Gray=G
代碼如下:

            
              from PIL import Image
from pylab import *

im = array(Image.open('flower.jpg'))
im[:,:,0] = im[:,:,1] = im[:,:,2] = im[:,:,2]
imshow(im)
show()

            
          

效果如下:
Python實現(xiàn)數(shù)字圖像處理經(jīng)典算法之256色轉(zhuǎn)灰度圖_第4張圖片


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 塔城市| 孟连| 漠河县| 库车县| 红安县| 五台县| 崇信县| 崇文区| 尤溪县| 万盛区| 南丹县| 大港区| 专栏| 健康| 项城市| 柳河县| 克东县| 侯马市| 云林县| 洱源县| 博罗县| 云和县| 临漳县| 荣昌县| 樟树市| 临潭县| 芒康县| 唐山市| 新兴县| 福安市| 罗甸县| 寿光市| 石首市| 确山县| 五华县| 新昌县| 德昌县| 西贡区| 襄汾县| 维西| 兰溪市|