freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)字圖像邊緣檢測算法的研究與實現(xiàn)(編輯修改稿)

2026-01-12 08:53 本頁面
 

【文章內(nèi)容簡介】 這種文件格式就是每一個像素用 8bit 表示,顯示出來的圖像是黑白效果,最黑的像素的灰度(也叫作亮度)值為“ 0”,最白的像素的灰度值為“ 255”,整個圖像各個像素的 灰度值隨機(jī)的分布在“ 0”到“ 255”的區(qū)間中,越黑的像素,其灰度值越接近于“ 0”,越白(即越亮)的像素,其灰度值越接近于“ 255”;與此對應(yīng)的是在該文件類型中的顏色表項的各個 RGB 分量值是相等的,并且顏色表項的數(shù)目是 256 個。真彩色圖像要復(fù)雜一些,表示圖像時,常用的圖像彩色模式有RGB 模式、 CMYK 模式和 HIS 模式,一般情況下我們只使用 RGB 模式, R 對應(yīng)紅色, G 對應(yīng)綠色, B 對應(yīng)藍(lán)色,它們統(tǒng)稱為三基色,這三中色彩的不同搭配,就可以搭配成各種現(xiàn)實中的色彩,此時彩色圖像的每一個像素都需要 3 個樣本組成的一組數(shù)據(jù)表示 ,其中每個樣本用于表示該像素的一個基本顏色。 BMP 文件由文件頭、位圖信息頭、顏色信息和圖形數(shù)據(jù)四部分組成。 如表 31所示: 表 31 BMP文件的組成 位圖文件頭 BITMAPFILEHEADER 位圖信息頭 BITMAPINFOHEADER 調(diào)色板 Palette 實際位圖數(shù)據(jù) ImageData 東北石油大學(xué) 本科生畢業(yè)設(shè)計(論文) 10 文件頭主要包含文件的大小、文件類型、圖像數(shù)據(jù)偏離文件頭的長度等信息;位圖信息頭包含圖象的尺寸信息、圖像用幾 個比特數(shù)值來表示一個像素、圖像是否壓縮、圖像所用的顏色數(shù)等信息。顏色信息包含圖像所用到的顏色表,顯示圖像時需用到這個顏色表來生成調(diào)色板,但如果圖像為真彩色,即圖像的每個像素用 24 個比特來表示,文件中就沒有這一塊信息,也就不需要操作調(diào)色板。文件中的數(shù)據(jù)塊表示圖像的相應(yīng)的像素值,需要注意的是:圖像的像素值在文件中的存放順序為從左到右,從下到上,也就是說,在 BMP 文件中首先存放的是圖像的最后一行像素,最后才存儲圖像的第一行像素,但對與同一行的像素,則是按照先左邊后右邊的的順序存儲的;另外一個需要關(guān)注的細(xì)節(jié)是:文件 存儲圖像的每一行像素值時,如果存儲該行像素值所占的字節(jié)數(shù)為 4 的倍數(shù),則正常存儲,否則,需要在后端補 0,湊足 4 的倍數(shù)。一般 256 色位圖 BMP 文件頭(除數(shù)據(jù)外)總共有 1078 個字節(jié)。 下面詳細(xì)說明上述三個結(jié)構(gòu)在 中都有定義 [6]。 1. 位圖文件頭 (BITMAPFILEHEADER): VC++對位圖文件頭的定義: Typedef struct tagBITMAPFILEHEADER { WORD bfType。// 指定文件類型,必須是 0X424D,即字符串“ BM” WORD bfSize。// 指定文件大小 WORD bfReserved1。// 保留字,不予考慮 WORD bfREserved2。// 保留字,不予考慮 DWORD bfOffBits。// 從文件頭到實際的位圖數(shù)據(jù)的偏移字節(jié)數(shù) }BITMAPFILEHEADER, FAR*LP BITMAPFILEHEADER, *PBITMAPFILEHEADER。 2. 位圖信息頭 (BITMAPFILEHEADER): VC++對位圖文件頭的定義: Typedef struct tagBITMAPINFOHEADER { DWORD biSize。// 指定結(jié)構(gòu)長度 LONG biWidth。// 圖像寬度 LONG biHeight。// 圖像高度 WORD biplanes。// 必須是1 WORD bitCount。 //指定表示顏色時要用到的位數(shù)。常用值有 1(黑白 //二色圖)、 4( 16 色圖)、 8( 256 色圖)、 24(真彩色圖)。 東北石油大學(xué) 本科生畢業(yè)設(shè)計(論文) 11 DWORD biCompression。// 指出位圖是否壓縮 DWORD biSizeImage。// 實際位圖數(shù)據(jù)所占用的字節(jié)數(shù) LONG biXPelsPerMeter。// 水平分辨率 LONG biYPelsPerMeter。// 垂直分辨率 DWORD biClrUsed。// 指定本圖像實際用到的顏色數(shù),若該值為 0 則為 2 的bitCount 次方 DWORD biClrImportant。// 指定本圖像最重要的顏色數(shù),若該值為 0,則認(rèn)為所有顏色都是重要的。 }BITMAPINFOHEADER。 3. 調(diào)色板( Palette) VC++對調(diào)色板的定義: Typdef struct tagRGBQUAD { BYTE rgbBlue。 BYTE rgbGreen。 BYTE rgbRed。 BYTE rgbReserved。 }RGBQUAD。 其中 rgbReServed 為保留值。 CDIB 類 前面只是為圖像文件提供基本的知識和工具,還沒具體涉及到圖像操作的具體內(nèi)容,這里先構(gòu)造一個圖像操作的類, 即 CDIB 類,它是進(jìn)行圖像處理的“工具箱”。 根據(jù)圖像處理的需要, 表 32 列出了 CDIB 類的一些主要成員函數(shù)。 表 32 CDIB類的部分成員函數(shù) 函數(shù)或結(jié)構(gòu)名 功能描 述 PaintDIB() 繪制 DIB 對象 SaveDIB() 將 DIB 保存到 指定文件中 ReadDIBFile() 從 指定文件中讀取 DIB 對象 DIBBitCount() 該函數(shù)返回 DIB 圖像的位深度 FindDIBBits() 返回 DIB圖像象素起始位置 DIBWidth() 返回 DIB 寬度 DIBHeight() 返回 DIB 高度 SetPalette() 設(shè)置調(diào)色板 東北石油大學(xué) 本科生畢業(yè)設(shè)計(論文) 12 幾種重要的操作函數(shù) 1. 返回 DIB 對象像素的起始位置( FindDIBBits()) 該函數(shù)原型聲明如下: LPBYTE FindDIBBits(LPBYTE lpbi)。 該函數(shù)只有一個入口參 數(shù) lpbi,為一個指向 DIB 對象的指針,通過計算而返回一個指向 DIB 圖像像素起始位置的指針。計算過程也非常簡單,只涉及到指針的移動: ?? Return (lpbi+*(LPDWORD) lpbi+PaletteSize(lpbi)) 2. 負(fù)責(zé)獲取 DIB 位圖的寬度( DIBWidth()) 該函數(shù)的原型為: DWORD DIBWidth(LPYTE lpDIB) 入口參數(shù) lpbi 給出了一個指向 DIB 對象的指針,在計算完成后返回雙字長度的 DIB 位圖寬度。對于不同格式的 DIB,其圖像寬度的計算方式也有所不同,具體 為針對 Windows 格式 DIB 和針對其他格式 DIB 的兩種不同的計算方式。具體計算過程如下: //返回 DIB 圖像的寬度 if(IS_WIN 30_DIB(lpDIB)) { //對于 Windows DIB,返回 lpbmibiWidth return lpbmibiWidth。 } else { //對于其他格式的 DIB,返回 lpbmcbcWidth return (DWORD) lpbmcbcWidth。 } 3. 獲取 DIB 位圖的高度( DIBHeight()) 函數(shù)原型為: DWORD DIBHeight(LPBYTE lpDIB); 函數(shù)入口參數(shù) lpDIB 為一指向 DIB 對象的指針,計算完成后返回雙字型的DIB 位圖高度,具體實現(xiàn)思路和 DIBWidth()基本類似,也是需要根據(jù)不同的 DIB格式做不同的計算。具體實現(xiàn)過程如下: 東北石油大學(xué) 本科生畢業(yè)設(shè)計(論文) 13 //返回 DIB 圖像的高度 if(IS_WIN 30_DIB(lpDIB)) { //對于 Windows DIB,返回 lpbmibiHeight return lpbmibiHeight。 } else { //對于其他格式的 DIB,返回 lpbmcbcHeight return (DWORD) lpbmcbcHeight。 } 4. 獲取 DIB 位圖的位深度( DIBBitCount()) 函數(shù)原型為: WORD DIBBitCount(LPBYTER lpbi)。 入口參數(shù) lpbi 為指向 DIB 對象的指針,函數(shù)最終返回 DIB 位圖的位深度。函數(shù)實現(xiàn)時根據(jù)是否是 Windows 格式的 DIB,而決定是從BITMAPINFOHEADER 結(jié)構(gòu)的數(shù)據(jù)成員 biBitCount 中獲取,還是從BITMAPCOREHEADER 結(jié)構(gòu)的數(shù)據(jù)成員 bcBitCount 中獲取。具體過程如下: //讀取像素的位數(shù) if(IS_WIN 30_DIB(lpbi)) { //讀取 biBitCount 值 nBitCount=((LPBITMAPINFOHEADER) lpbi) biBitCount。 } else { //讀取 biBitCount 值 nBitCount=((LPBITMAPCOREHEADER) lpbi) bcBitCount。 } 5. 負(fù)責(zé) DIB 對象文件的保存( SaveDIB()) BOOL SaveDIB(HDIB hDib,Cfileamp。file)。 入口參數(shù) hDib 和 file 分別為保存的 DIB 和保存的文件對象。函數(shù)執(zhí)行成功將返回 True,否則返回 False 或者拋出 CfileException 異常 DIB 文件的保存主要分為對文件頭的保存和對像素點陣的保存,前者可通過結(jié)構(gòu) BITMAPFILEHEADER東北石油大學(xué) 本科生畢業(yè)設(shè)計(論文) 14 和 BITMAPINFOHEADER 加以描述,將其數(shù)據(jù)成員填充完畢后寫入到文件。在進(jìn)行文件寫入時,需要通過 TRYCATCH 語句來捕獲其中可能發(fā)生的異常。 6. 從制定文件讀取 DIB 對象到內(nèi)存( ReadDIBFile()) 函數(shù)原型為: HDIB ReadDIBFile(Cfileamp。file)。 入口參數(shù) file 指定了待讀取的文件,如果函數(shù)執(zhí)行成功將返回一個 DIB 的句柄否則返回 NULL。函數(shù)在執(zhí)行時,首先從文件中讀取 DIB 文件頭,并判斷是否是合法的 DIB 對象,如果文件格式正確則為其分配相應(yīng)的內(nèi)存,并完成對圖像點陣的讀取。 關(guān)鍵代碼如下: ?? //嘗試讀取 DIB 文件頭 if(((LPBYTE) amp。bmfHeader, sizeof(bmfHeader))!=sizeof(bmfHeader)) { //大小不對,返回 NULL return NULL。 } ?? //讀像素 if(file,ReadHuge(lpDIB,dwBitsSizesizeof(BITMAPFILEHEADER))!=dwBitsSizesizeof(BITMAPFILEHEADER)) { //大小不對,解除鎖定 :: GlobalUnlock((HGLOBAL) hDIB)。 //釋放內(nèi)存 :: GlobalFree((HGLOBAL) hDIB)。 //返回 NULL return NULL。 } 當(dāng)然圖像操作還有很多,這里只是舉出了幾種必備的操作,也是此次畢 業(yè)設(shè)計必需的幾種操作 。 東北石油大學(xué) 本科生畢業(yè)設(shè)計(論文) 15 第 4 章 數(shù)字圖像邊緣檢測算法的研究與實現(xiàn) 圖像邊緣檢測的基本步驟 一種定位二維或三維圖像(特別是醫(yī)學(xué)圖像)中的對象的邊緣的系統(tǒng)。通過輸入端(310)接收表示該圖像的各元素值的數(shù)據(jù)元素集。該數(shù)據(jù)集被存儲在存儲裝置(320)中。處理器(340)確定該圖像中的對象的邊緣。該處理器計算所述數(shù)據(jù)元素的至少一階和/或二階導(dǎo)數(shù),并且計算該圖像的等照度線曲率,所述曲率由 κ 標(biāo)識。該處理器還確定校正因數(shù) α ,該校正因數(shù) α 對于由對象的曲率和/或所述數(shù)據(jù)的模糊造成的邊緣錯位進(jìn)行校正。該校 正因數(shù) α 取決于所述等照度線曲率 κ 。然后,該處理器確定取決于所計算出的導(dǎo)數(shù)和所述等照度線曲率的算子的過零點。該系統(tǒng)的輸出端(330)提供對于該圖像中的邊緣位置的指示 ?;静襟E: 1. 濾波。邊緣檢測主要基于導(dǎo)數(shù)計算,但受噪聲影響。但濾波器在降低噪聲的同時也導(dǎo)致邊緣強度的損失。 2. 增強。增強算法將領(lǐng)域中灰度有顯著變化的點突出顯示。一般通過計算梯度幅值完成。 3. 檢測。但在有些圖像中梯度幅值較大的并不是邊緣點。 4. 定位。精確確定邊緣的位置。 圖像邊緣檢測基本算子與實現(xiàn) 邊緣檢 測的基本算法有很多,有梯度算子、方向算子、拉普拉斯算子和砍尼算子等等。幾種常用的邊緣檢測方法有屬于梯度算子的 Roberts 算子、 Sobel 算子、 Prewitt 算子、 GaussLaplace 算子等。 算子 Robert s 算子采用對角線方向相鄰兩像素之差近似梯度幅值檢測邊緣 , 是一種局部差分算子。檢測水平和垂直邊緣的效果好于斜向邊緣 , 定位精度高 , 但
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1