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

正文內(nèi)容

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

2025-01-12 08:53 本頁(yè)面
 

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