數字圖像處理 (20 15 5 年春季學期) )
實 實
驗
報 報
告 系別: 計算機科學與技術 機 班級:計算機 1 2-1 姓名: 依力夏提江·艾買爾 學號:1 210102 0129 實驗名稱: 圖像銳化 《圖像信息處理》實驗報告 實驗名稱 圖像銳化 實驗序號 3 3 實驗日期 20 15、 、 5 、2 25 實驗人 依力夏提江·哎買爾 一、實驗目得、要求與環境 1。目得:通過實驗,了解數字圖象銳化得一般方法,掌握圖象銳化得編程方法,了解常見圖象銳化效果得評價規則。
2、要求:將給定得圖像進行銳化處理,要求首先將彩色圖像灰度化,再使用銳化算法進行銳化,最后將圖像二值化處理,分析銳化后得視覺效果,提交實驗報告.銳化得算法不限,可采用 Sobel、Roberts、Priwitt、Laplacian、Wallis 等得一種或幾種。實驗將根據圖像銳化得難度、種類、代碼量與實驗效果進行評分。
總成績:
評語: :
日期:
序號:8
3、環境:Windows 7 操作系統 Microsoft Visual Studio 2005 (VS2005) 自帶圖像文件:
L1 、bmp:
二、實驗步驟 1. 準備相關圖像文件。
2.在 Win 7 操作系統上,打開Microsoft Visual Studio 2005,編寫相關程序,完成程序主體框架結構。
3.編寫圖像銳化得彩色圖像灰度化,Sobel 算法銳化,圖像二值化處理相關得程序代碼。
4.對程序進行相關調試,修改程序,去除其中得BUG. 5、 利用自己準備得圖像得文件與編寫得程序,進行圖像銳化處理。
6。截屏,保留實驗結果,進行實驗結果分析,并撰寫實驗報告.
三、相關背景知識 (寫您自己覺得比較重要得與本實驗相關得背景知識) 在邊緣檢測中,常用得一種模板就是 Sobel 算子.Sobel 算子有兩個,一個就是檢測水平邊緣得 ;另一個就是檢測垂直邊緣得 。與 Prewitt 算子相比,Sobel 算子對于象素得位置得影響做了加權,可以降低邊緣模糊程度,因此效果更好。
Sobel算子另一種形式就是各向同性 Sobel(Isotropic Sobel)算子,也有兩個,一個就是檢測水平邊緣得 ,另一個就是檢測垂直邊緣得 。各向同性Sobel算子與普通 Sobel算子相比,它得位置加權系數更為準確,在檢測不同方向得邊沿時梯度得幅度一致.將 Sobel算子矩陣中得所有 2 改為根號 2,就能得到各向同性 Sobel得矩陣. 由于 Sobel算子就是濾波算子得形式,用于提取邊緣,可以利用快速卷積函數, 簡單有效,因此應用廣泛。美中不足得就是,Sobel 算子并沒有將圖像得主體與背景嚴格地區分開來,換言之就就是 Sobel 算子沒有基于圖像灰度進行處理,由于 Sobel算子沒有嚴格地模擬人得視覺生理特征,所以提取得圖像輪廓有時并不能令人滿意。
在觀測一幅圖像得時候,我們往往首先注意得就是圖像與背景不同得部分,正就是這個部分將主體突出顯示,基于該理論,我們給出了下面閾值化輪廓提取算法,該算法已在數學上證明當像素點滿足正態分布時所求解就是最優得。
四、編譯與執行過程截圖 (下面就是一個例子,換上您自己得圖 )
六、實驗結果與分析 (下面就是一個例子,換上您自己得圖) 圖像銳化: 源圖:
灰度化:
再經過 Sobel 算法銳化:
再經過二值化后:
實驗結果分析:
如上幾個圖像所示,之所以可以從人物、背景中提取出輪廓,就是因為輪廓部分得信息較強,因此,如果設定一個閥值,當圖中小雨閥值得點(即灰度圖中灰度變化較弱得點,被認為就是非邊界點)置為黑,將圖中大于閥值得點置為白,則可得到上圖,這就把人物得邊緣信息提取出來了. 在本實驗得圖像銳化過程中,所采用得公式為: So bel 邊緣檢測算法 索貝爾算子(Sobel operator)主要用作邊緣檢測,在技術上,它就是一離散性差分算子,用來運算圖像亮度函數得灰度之近似值.在圖像得任何一點使用此算子,將會產生對應得灰度矢量或就是其法矢量
Sobel卷積因子為:
該算子包含兩組 3x3 得矩陣,分別為橫向及縱向,將之與圖像作平面卷積,即可分別得出橫向及縱向得亮度差分近似值。如果以 A 代表原始圖像,Gx及Gy 分別代表經橫向及縱向邊緣檢測得圖像灰度值,其公式如下:
具體計算如下:
Gx = (—1)*f(x—1, y-1) + 0*f(x,y—1)
+ 1*f(x+1,y-1)
+(-2)*f(x-1,y)
+ 0*f(x,y)+2*f(x+1,y)
+(—1)*f(x—1,y+1) + 0*f(x,y+1) + 1*f(x+1,y+1)
= [f(x+1,y—1)+2*f(x+1,y)+f(x+1,y+1)]—[f(x-1,y—1)+2*f(x—1,y)+f(x-1,y+1)]
Gy =1* f(x-1, y—1) + 2*f(x,y—1)+ 1*f(x+1,y-1)
+0*f(x—1,y)
0*f(x,y)
+ 0*f(x+1,y)
+(-1)*f(x-1,y+1) + (-2)*f(x,y+1) + (—1)*f(x+1, y+1)
= [f(x—1,y-1)
+ 2f(x,y-1) + f(x+1,y—1)]—[f(x-1, y+1) + 2*f(x,y+1)+f(x+1,y+1)]
其中 f(a,b), 表示圖像(a,b)點得灰度值;
圖像得每一個像素得橫向及縱向灰度值通過以下公式結合,來計算該點灰度得大小:
七、主要相關程序源代碼 7、1 彩色圖像灰度化 void CBMPEdit::Gray() {
pImageData = (byte *)GlobalLock(m_hgImageData);
lWidth = m_BmpInfo、bmiHeader、biWidth;
lHeight = m_BmpInfo、bmiHeader、biHeight;
for ( int j = 0 ; j 〈 lHeight
; j++)
{
)++i ;
htdiWl < i ; 0 = i tni (rof?? ? {
// 值時臨化度灰??+ 992、0*))0 + 3 * i + eniLrePetyBn * j + ataDegamIp(*(elbuod = pmet?
+
785、0*))1 + 3 * i + eniLrePetyBn * j + ataDegamIp(*(elbuod?? ??
double(*(pImageData + j * nBytePerLine + i * 3 + 2))*0、114;
// 道通單到轉圖道通三??(*?;)pmet(tni=)0 + 3 * i + eniLrePetyBn * j + ataDegamIp? ?? *(pImageData + j * nBytePerLine + i * 3 + 1)=int(temp);
? (* ;)pmet(tni=)2 + 3 * i + eniLrePetyBn * j + ataDegamIp?
}? }? ;)ataDegamIgh_m(kcolnUlabolG?} 7、2 Sobel 銳化
int CBMPEdit:: Sharpening() {
;htdiWib、redaeHimb、ofnIpmB_m = htdiWl? lHeight = m_BmpInfo、bmiHeader、biHeight;
// 分配內存,以保存新DIB
;)thgieHl * eniLrePetyBn ,DNHG(collAlabolG = BIDh? // 敗失配分存內否是就斷判? )LLUN == BIDh( fi? {
? // 分配內存失敗
return NULL;
}
pImageDataNew = (byte *)GlobalLock(hDIB); // 法算leboS? )++j ;1 - thgieHl 〈 j ;1 = j tni( rof? { ? ? for(int i = 1; i 〈 lWidth — 1; i++)
{??? ; 0 = yg = xg?
??
?? val11=*(pImageData + (j-1) * nBytePerLine + (i—1)
* 3);
val12=*(pImageData + (j—1)
* nBytePerLine +
i * 3);
?? val13=*(pImageData + (j—1)
* nBytePerLine + (i+1)
* 3);
val21=*(pImageData +
j * nBytePerLine + (i—1) * 3);
?
val22=*(pImageData +
j * nBytePerLine +
i * 3);
? val23=*(pImageData +
j * nBytePerLine + (i+1) * 3);
;)3 * )1—i( + eniLrePetyBn *)1+j(
+ ataDegamIp(*=13lav??
;)3 * i
+ eniLrePetyBn *)1+j(
+ ataDegamIp(*=23lav??;)3 *)1+i(
+ eniLrePetyBn *)1+j(
+ ataDegamIp(*=33lav?
//圖像得每一個像素得橫向及縱向梯度近似值。
?
33lav*0、1 + 23lav*0 + 13lav*)0、1-( = xg?
?? +(—2、0)*val21 + 0*val22+
2、0*val23
?
+(—1、0)*val11 + 0*val12 + 1、0*val13; ?33lav*)0、1—( +23lav*)0、2-( + 13lav*)0、1—(= yg?
?
+
0*val21 +
0*val22+
0*val32
*0、1
+ ;31lav*0、1
+ 21lav*0、2
+ 11lav??
? //計算梯度得大小
? ;)yg*yg + xg*xg(trqs = leboS?? ? (*
;)leboS(tni = )0 + 3 * i + eniLrePetyBn * j + weNataDegamIp? (* ;)leboS(tni = )1 + 3 * i + eniLrePetyBn * j + weNataDegamIp?? ?? *(pImageDataNew + j * nBytePerLine + i * 3 + 2)
= int(Sobel);
}?? }
;)BIDh(kcolnUlabolG?} 7、3 圖像二值化處理 void CBMPEdit::Binarization() { // 為制復于等于小,為制復于大值素像? for (int j = 0; j 〈 lHeight; j++)
{?
? for(int i = 0; i 〈 lWidth; i++)
{? ?? if( int(*(pImageDataNew + j * nBytePerLine + i * 3)) 〉 80)
{
? *(pImageDataNew + j * nBytePerLine + i * 3 + 0) = 255;
?
(* ;552 = )1 + 3 * i + eniLrePetyBn * j + weNataDegamIp? ??
*(pImageDataNew + j * nBytePerLine + i * 3 + 2)
= 255;
}???esle? ?
{? ?? (* ;0 = )0 + 3 * i + eniLrePetyBn * j + weNataDegamIp? ?? (* ;0 = )1 + 3 * i + eniLrePetyBn * j + weNataDegamIp?
(*;0 = )2 + 3 * i + eniLrePetyBn * j + weNataDegamIp??
}? ? }
}?}
八、實驗得總結與收獲
(寫您們自己各自得總結與收獲)
在進行 Sobel 銳化時,使用得圖像數據不就是每次進行計算后得像素數據,而就是原灰度化得數據,所以我將灰度化得數據又存了一份,這個地方出現了邏輯錯誤。
推薦訪問: 銳化 圖像 實驗上一篇:溫度采集,,實驗報告
下一篇:電路仿真實驗報告
在偉大祖國73華誕之際,我參加了單位組織的“光影鑄魂”主題黨日活動,集中觀看了抗美援朝題材影片《長津湖》,再一次重溫這段悲壯歷史,再一次深刻感悟偉大抗美援朝精神。1950年10月,新中國剛剛成立一年,
根據省局黨組《關于舉辦習近平談治國理政(第四卷)讀書班的通知》要求,我中心通過專題學習、專題研討以及交流分享等形式,系統的對《習近平談治國理政》(第四卷)進行了深入的學習與交流,下面我就來談一談我個人
《習近平談治國理政》(第四卷)是在百年變局和世紀疫情相互疊加的大背景下,對以習近平同志為核心的黨中央治國理政重大戰略部署、重大理論創造、重大思想引領的系統呈現。它生動記錄了新一代黨中央領導集體統籌兩個
《真抓實干做好新發展階段“三農工作”》是《習近平談治國理政》第四卷中的文章,這是習近平總書記在2020年12月28日中央農村工作會議上的集體學習時的講話。文章指出,我常講,領導干部要胸懷黨和國家工作大
在《習近平談治國理政》第四卷中,習近平總書記強調,江山就是人民,人民就是江山,打江山、守江山,守的是人民的心。從嘉興南湖中駛出的小小紅船,到世界上最大的執政黨,在中國共產黨的字典里,“人民”一詞從來都
黨的十八大以來,習近平總書記以馬克思主義戰略家的博大胸襟和深謀遠慮,在治國理政和推動全球治理中牢固樹立戰略意識,在不同場合多次圍繞戰略策略的重要性,戰略和策略的關系,提高戰略思維、堅定戰略自信、強化戰
《習近平談治國理政》第四卷集中展示了以習近平同志為核心的黨中央在百年變局和世紀疫情相互疊加背景下,如何更好地堅持和發展中國特色社會主義而進行的生動實踐與理論探索;對于新時代堅持和發展什么樣的中國特色社
在黨組織的關懷下,我有幸參加了區委組織部組織的入黨積極分子培訓班。為期一周的學習,學習形式多樣,課程內容豐富,各位專家的講解細致精彩,對于我加深對黨的創新理論的認識、對黨的歷史的深入了解、對中共黨員的
《習近平談治國理政》第四卷《共建網上美好精神家園》一文中指出:網絡玩命是新形勢下社會文明的重要內容,是建設網絡強國的重要領域。截至2021年12月,我國網民規模達10 32億,較2020年12月增長4
剛剛召開的中國共產黨第十九屆中央委員會第七次全體會議上討論并通過了黨的十九屆中央委員會向中國共產黨第二十次全國代表大會的報告、黨的十九屆中央紀律檢查委員會向中國共產黨第二十次全國代表大會的工作報告和《