圖像處理的灰度化和二值化

from:http://blog.sina.com.cn/s/blog_13c6397540102wqtt.html

在圖像處理中,用RGB三個分量(R:Red,G:Green,B:Blue),即紅、綠、藍三原色來表示真彩色,R分量,G分量,B分量的取值范圍均為0~255,比如電腦屏幕上的一個紅色的像素點的三個分量的值分別為:255,0,0。

?

像素點

???像素點是最小的圖像單元,一張圖片由好多的像素點構成,下圖是一張美女的大白腿的圖片。

圖像處理的灰度化和二值化

查看這張圖片的信息,尺寸是800 * 800 的,寬度是800像素,高度是800像素。也就是說這張圖片是由一個800 * 800的像素點矩陣構成的(不理解矩陣是什么意思的話,可以把矩陣理解為C語言中的二維數組),這個矩陣是800行,800列,像素是圖像的最小單元,這張圖片的寬度是800個像素點的長度,高度是800個像素點的長度,共有800 * 800 = 640000個像素點。

圖像處理的灰度化和二值化

因為一個像素點的顏色是由RGB三個值來表現的,所以一個像素點矩陣對應三個顏色向量矩陣,分別是R矩陣,G矩陣,B矩陣,它們也都是800 *800大小的矩陣。下面展示這張美女圖片的一部分顏色矩陣數據:

這個是R矩陣中的一部分
圖像處理的灰度化和二值化

這個是G矩陣中的一部分
圖像處理的灰度化和二值化

這個是B矩陣中的一部分

圖像處理的灰度化和二值化

比如每個矩陣的第一行第一列的值分別為:R:240,G:223,B:204,所以這個像素點的顏色就是(240,223,204),三個矩陣的值不一定一 一對應,這樣做只是為了便于讀者理解。

圖像的灰度化

?????在理解了一張圖片是由一個像素點矩陣構成之后,我們就知道我們對圖像的處理就是對這個像素點矩陣的操作,想要改變某個像素點的顏色,我們只要在這個像素點矩陣中找到這個像素點的位置,比如第x行,第y列,所以這個像素點在這個像素點矩陣中的位置就可以表示成(x,y),因為一個像素點的顏色由紅、綠、藍三個顏色變量表示,所以我們通過給這三個變量賦值,來改變這個像素點的顏色,比如改成紅色(255,0,0),可以表示為(x,y,(R=255,G=0,B=0))。

??????那么什么叫圖片的灰度化呢?其實很簡單,就是讓像素點矩陣中的每一個像素點都滿足下面的關系:R=G=B(就是紅色變量的值,綠色變量的值,和藍色變量的值,這三個值相等,“=”的意思不是程序語言中的賦值,是數學中的相等),此時的這個值叫做灰度值。

?

灰度處理的方法:

???????一般灰度處理經常使用兩種方法來進行處理。

???方法1:

??????????灰度化后的R=(處理前的R + 處理前的G +處理前的B)/ 3

??????????灰度化后的G=(處理前的R + 處理前的G +處理前的B)/ 3

??????????灰度化后的B=(處理前的R + 處理前的G +處理前的B)/ 3

?

???美女圖片經過方法1進行灰度化后的效果如下:

圖像處理的灰度化和二值化

?

????????方法2:

???????????灰度化后的R = ?處理前的R * 0.3+ 處理前的G * 0.59 +處理前的B * 0.11

???????????灰度化后的G = ?處理前的R * 0.3+ 處理前的G * 0.59 +處理前的B * 0.11

???????????灰度化后的B = ?處理前的R * 0.3+ 處理前的G * 0.59 +處理前的B * 0.11

美女圖片經過方法2進行灰度化后的效果如下:圖像處理的灰度化和二值化

個人覺得第二種方法處理的效果比較好,第一種方法處理后的圖片有點模糊。

圖像的二值化

?????什么叫圖像的二值化?二值化就是讓圖像的像素點矩陣中的每個像素點的灰度值為0(黑色)或者255(白色),也就是讓整個圖像呈現只有黑和白的效果。在灰度化的圖像中灰度值的范圍為0~255,在二值化后的圖像中的灰度值范圍是0或者255。

??????黑色:

???????????????二值化后的R = ?0

???????????????二值化后的G = ?0

???????????????二值化后的B = ?0

??????白色:

???????????????二值化后的R = ?255

???????????????二值化后的G = ?255

???????????????二值化后的B = ?255

???????那么一個像素點在灰度化之后的灰度值怎么轉化為0或者255呢?比如灰度值為100,那么在二值化后到底是0還是255?這就涉及到取一個閥值的問題。

常用的二值化方法:

??????方法1:

??????????取閥值為127(相當于0~255的中數,(0+255)/2=127),讓灰度值小于等于127的變 ???????????為0(黑色),灰度值大于127的變為255(白色),這樣做的好處是計算量小速度快,但是缺點也是很明顯的,因為這個閥值在不同的圖片中均為127,但是不同的圖片,他們的顏色分布差別很大,所以用127做閥值,白菜蘿卜一刀切,效果肯定是不好的。

?????方法2:

??????????計算像素點矩陣中的所有像素點的灰度值的平均值avg

??????????(像素點1灰度值+...+像素點n灰度值)/ n = 像素點平均值avg

?????????然后讓每一個像素點與avg一 一比較,小于等于avg的像素點就為0(黑色),大于avg的 像 ?????????素點為255(白色),這樣做比方法1好一些。

????方法3:

??????????使用直方圖方法(也叫雙峰法)來尋找二值化閥值,直方圖是圖像的重要特質。直方圖方法認為圖像由前景和背景組成,在灰度直方圖上,前景和背景都形成高峰,在雙峰之間的最低谷處就是閥值所在。取到閥值之后再一 一比較就可以了。

下面給出一張美女圖片二值化后的效果圖:(漂亮的大白腿依稀可見。)

圖像處理的灰度化和二值化
?

??????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458181.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458181.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458181.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

結合 category 工作原理分析 OC2.0 中的 runtime

絕大多數 iOS 開發者在學習 runtime 時都閱讀過 runtime.h 文件中的這段代碼: struct objc_class {Class isa OBJC_ISA_AVAILABILITY;#if !__OBJC2__Class super_class OBJC2_UNAVAILABLE;const char *name …

獲取子元素

1、純css 獲取子元素 #test1>div {background-color:red;}#test1 div {font-size:14px;}#test1>div:first-child {color:#ccc;} <div id"test1"><div>性別</div><div>男</div></div> 因1示例中為#test1下的子元素 #test1…

JPG PNG GIF BMP圖片格式的區別

類型優點缺點應用場景相同圖片大小比較BMP無損壓縮&#xff0c;圖質最好文件太大&#xff0c;不利于網絡傳輸 152KGIF動畫存儲格式最多256色&#xff0c;畫質差 53KPNG可保存透明背景的圖片畫質中等 202KJPG文件小&#xff0c;利于網絡傳輸畫質損失車牌識別84K BMP BMP&…

EasyUI左右布居

<!DOCTYPE html><html xmlns"http://www.w3.org/1999/xhtml"><head runat"server"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>首頁</title> <li…

44.Android之Shape設置虛線、圓角和漸變學習

Shape在Android中設定各種形狀&#xff0c;今天記錄下&#xff0c;由于比較簡單直接貼代碼。 Shape子屬性簡單說明一下:   gradient -- 對應顏色漸變。 startcolor、endcolor就不多說了。 android:angle是指從哪個角度開始變.solid -- 填充。stroke -- 描邊。corners -- 圓角…

幾種邊緣檢測算子的比較Roberts,Sobel,Prewitt,LOG,Canny

from&#xff1a;https://blog.csdn.net/gdut2015go/article/details/46779251 邊緣檢測是圖像處理和計算機視覺中的基本問題&#xff0c;邊緣檢測的目的是標識數字圖像中亮度變化明顯的點。圖像屬性中的顯著變化通常反映了屬性的重要事件和變化。這些包括&#xff1a;深度上的…

django 初試

/*************************************************************************************** django 初試* 說明&#xff1a;* 昨天打搭了dgango的服務器&#xff0c;今天學一下怎么來輸出一個hello world出來。* * …

淺析“高斯白噪聲”,“泊松噪聲”,“椒鹽噪聲”的區別

from&#xff1a;https://www.jianshu.com/p/67f909f3d0ce 在圖像處理的過程中&#xff0c;一般情況下都進行圖像增強&#xff0c;圖像增強主要包括“空域增強”和“頻域增強”&#xff0c; 空域增強包括平滑濾波和銳化濾波。 平滑濾波&#xff0c;就是將圖像模糊處理&#x…

HttpClient通過Post上傳文件(轉)

在之前一段的項目中&#xff0c;使用Java模仿Http Post方式發送參數以及文件&#xff0c;單純的傳遞參數或者文件可以使用URLConnection進行相應的處理。 但是項目中涉及到既要傳遞普通參數&#xff0c;也要傳遞多個文件&#xff08;不是單純的傳遞XML文件&#xff09;。在網上…

數字圖像處理:各種變換濾波和噪聲的類型和用途總結

摘自http://imgtec.eetrend.com/blog/4564 一、基本的灰度變換函數 1.1圖像反轉 適用場景&#xff1a;增強嵌入在一幅圖像的暗區域中的白色或灰色細節&#xff0c;特別是當黑色的面積在尺寸上占主導地位的時候。 1.2對數變換&#xff08;反對數變換與其相反&#xff09; …

Java 開發環境部署

1.下載Java開發環境工具包JDK&#xff0c;下載地址&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/index.html 下載后&#xff0c;雙擊jdk應用程序&#xff0c;根據提示完成安裝&#xff0c;安裝過程中可以自定義安裝目錄等信息&#xff0c;這里我選擇…

枚舉enum、NS_ENUM 、NS_OPTIONS

2019獨角獸企業重金招聘Python工程師標準>>> enum 了解位移枚舉之前&#xff0c;我們先回顧一下C語言位運算符。 1 << : 左移,比如1<<n,表示1往左移n位&#xff0c;即數值大小2的n次方; 例如 : 0b0001 << 1 變為了 0b0010 2 >> : 右…

mysql 關鍵詞相關度排序方法詳細示例分析

http://www.jb51.net/article/40480.htm轉載于:https://www.cnblogs.com/lixiuran/p/5299305.html

數字圖像處理-頻率域濾波原理

from&#xff1a;https://blog.csdn.net/forrest02/article/details/55510711?locationNum15&fps1 寫在前面的話 作者是一名在讀的碩士研究僧&#xff0c;方向是圖像處理。由于圖像處理是一門相對復雜的學科&#xff0c;作者在課堂上學到的東西只是非常淺顯的內容&#…

tomcat優化-有改protocol 和 緩存 集群方案

tomcat優化 在線上環境中我們是采用了tomcat作為Web服務器&#xff0c;它的處理性能直接關系到用戶體驗&#xff0c;在平時的工作和學習中&#xff0c;歸納出以下七種調優經驗。 1. 服務器資源 服務器所能提供CPU、內存、硬盤的性能對處理能力有決定性影響。 (1) 對于高并發…

深入淺出的講解傅里葉變換(真正的通俗易懂)

原文出處&#xff1a; 韓昊 1 2 3 4 5 6 7 8 9 10 作 者&#xff1a;韓 昊 知 乎&#xff1a;Heinrich 微 博&#xff1a;花生油工人 知乎專欄&#xff1a;與時間無關的故事 謹以此文獻給大連海事大學的吳楠老師&#xff0c;柳曉鳴老師&#xff0c;王新年老師以及張晶泊老…

分布式鎖 基于Redis

分布式鎖的實現(基于Redis)參考:http://www.jb51.net/article/75439.htm http://www.linuxidc.com/Linux/2015-01/111827.htm http://www.tuicool.com/articles/6juqmm7 方式一: 基于第三方類庫 redssion 1.安裝redis安裝redssion的鎖服務隊redis的版本有要求&#xff0c;要求必…

學好Linux決心書

我叫李楊&#xff0c;經過在老男孩教育linux運維班5個月學習后&#xff0c;我一定要達到的的薪水目標是7k,為了達到此目標我將采取如下5大行動或方案&#xff1a;1.每天堅持學習7個小時2.堅持每天跑步1小時3.調整思路 嚴于利己4.讓自己生活更加充實&#xff0c;不在渾渾噩噩5.為…

如何通俗易懂地解釋歐拉公式(e^πi+1=0)?

from&#xff1a;https://www.zhihu.com/question/41134540 http://www.matongxue.com/madocs/8.html

IIS(1)

轉載&#xff1a;http://blog.csdn.net/ce123 IIS音頻總線學習&#xff08;一&#xff09;數字音頻技術 一、聲音的基本概念 聲音是通過一定介質傳播的連續的波。 圖1 聲波重要指標&#xff1a; 振幅&#xff1a;音量的大小周期&#xff1a;重復出現的時間間隔頻率&#xff1a;…