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

正文內(nèi)容

畢業(yè)設(shè)計---圖象邊緣處理系統(tǒng)-資料下載頁

2025-08-06 10:56本頁面
  

【正文】 題。對用戶需求的分析應(yīng)該全面、深入、發(fā)展。 系統(tǒng)業(yè)務(wù)流程圖打開文件 選取圖象 處理圖象 保存圖象 多次處理 概念設(shè)計概要設(shè)計基礎(chǔ)是完成需求分析后提供的需求說明書,用概念數(shù)據(jù)模型表示數(shù)據(jù)及其相互間的關(guān)系,這種數(shù)據(jù)模型是與 DBMS 無關(guān)的、面向現(xiàn)實世界的、易如理解的數(shù)據(jù)模型,其獨立于計算機的數(shù)據(jù)模型,獨立于計算機的軟硬件系統(tǒng),與用戶進行交流十分方便。概念性數(shù)據(jù)模型關(guān)心的是如何完整、正確地反映客觀實際情況,不關(guān)心在數(shù)據(jù)庫畢業(yè)論文 第 3 章 系統(tǒng)需求分析 15 中如何實現(xiàn)。這種數(shù)據(jù)模式能真實地反應(yīng)用戶要求的實際情況,是一種容易被人們理解的畢業(yè)論文 第 3 章 系統(tǒng)需求分析 16 直觀的數(shù)據(jù)庫結(jié)構(gòu)模式。同時也是一種相對穩(wěn)定統(tǒng)一的數(shù)據(jù)模式,一般情況下很少變動。概念性數(shù)據(jù)在用戶和設(shè)計者之間建立了橋梁,是設(shè)計數(shù)據(jù)庫結(jié)構(gòu)的基礎(chǔ)。沈陽工程學(xué)院畢業(yè)論文 第 4 章 系統(tǒng)總體設(shè)計 17 第 4 章 系統(tǒng)總體設(shè)計 系統(tǒng)功能要求及說明和實現(xiàn)方法本部分主要介紹系統(tǒng)要實現(xiàn)的功能,搭好設(shè)計的總體框架,使我們對要開發(fā)的系統(tǒng)有一個系統(tǒng)、全面、確切的認識。1.功能要求(1)整體結(jié)構(gòu)合理,風(fēng)格一致,模塊化結(jié)構(gòu),界面清晰,接口靈活,操作簡便。(2)開發(fā)方法,文檔規(guī)范化,便于管理,可擴充。(3)完善的數(shù)據(jù)輸入,維護,輸出。(4)自檢性能高,用戶誤輸、錯輸均有提示。(5)容錯性能高,某個用戶的操作錯誤不會引起整個系統(tǒng)的癱瘓,每一功能的操作都有信息提示以免重復(fù)操作,錯誤操作有警告,以便用戶及時改正。2.實現(xiàn)方法(1)用 AppWisard 生成項目框架,該項目支持多文檔界面。(2)創(chuàng)建菜單,主框架。(3)設(shè)計 Cdib 類。由于 MFC 中已有 DDB 操作的 Cbitmap 類,因此,很直觀的想法是以 Cbitmap 類為父類派生出 CDib 類。但是,從長遠考慮,這樣做并沒有什么好處。因為首先,Cbitmap 類是為 DDB 的操作而設(shè)計的,其中沒有處理 Dib 類的功能,因此CDib 類不能從中繼承任何可用功能。其次,CBitmap 類是從 CGdiObject 中派生來的,Cbitmap 類以及它從 CgdiObject 類繼承來的數(shù)據(jù)成員和功能函數(shù)對 CDib 來說都是不合適的,也是多余的。此外,Cbitmap 類沒有提供有效的文件操作機制,DIB 主要是一種“外部”位圖,即主要以文件形式進行存儲和交換,所以 CDib 類應(yīng)該能很好的處理文件操作。MFC 中的 Cobject 類是 MFC 中其他大多數(shù)類的根類和基類。它提供了許多有用的特性,包括對文件串行化的支持,運行時的類信息和對象診斷輸出等。如果從 Cobject類派生類,則可繼承該類的這些特性。另外,Cobject 類具有最低限度的成員數(shù)據(jù)和函數(shù),從 Cobject 類派生類所花的代價最低。因此,采用 Cobject 類作為 CDib 的父類是很合理的。所以,以 Cobject 類作為基類來派生 CDib 類。在 CDib 類中添加所需的成員函數(shù),公共成員數(shù)據(jù),私有成員數(shù)據(jù)。(4)修改 CdibProcessDoc 文檔類,修改 Cmainfrm 主框類。修改 CdibProcessView 視類。(5)修改幫助對話框。(6)進行調(diào)試。(7)用 VC 工具給程序打包。3.算法簡介(1)Roberts 邊緣檢測算子Roberts 邊緣檢測算子是一種局部差分算子尋找邊緣的算子。它由下式給出:沈陽工程學(xué)院畢業(yè)論文 第 4 章 系統(tǒng)總體設(shè)計 18 G(x,y)={[f(x,y)f(x+1,y+1)]+[f(x,y)f(x+1,y+1)]}其中 f(x,y)是具有像素坐標(biāo)的輸入圖像,平方根運算使該處理類似于在人類視覺系統(tǒng)中發(fā)生的過程。(2)Sobel 邊緣算子兩個卷積核形成了 sobel 邊緣算子,圖像的每個點都用這兩個核做卷積,一個核對通常的垂直邊緣響應(yīng)最大,而另一個對水平邊緣響應(yīng)最大。(3) prewitt 邊緣算子兩個卷積核形成了 Prewitt 邊緣算子。和使用 Sobel 算子的方法一樣圖像中的每個點都用這個核進行卷積,取最大值作為輸出。(4)Krisch 邊緣算子8 個卷積核組成了 Krisch 邊緣算子。每個點都用 8 個掩模進行卷積,每個掩模都對某個特定邊緣方向做出最大響應(yīng),所有 8 個方向中的最大值作為邊緣幅度圖像的輸出。 (5)高斯拉普拉斯算子拉普拉斯算子是對二維函數(shù)進行運算的二階導(dǎo)數(shù)算子。該算子易于強化噪聲,可以說比起邊緣檢測與提?。ㄌ貏e對平滑的邊緣)更適于點狀物的檢測與提取。 系統(tǒng)的結(jié)構(gòu)功能模塊本系統(tǒng)結(jié)構(gòu)分為 3 大功能模塊如圖 41,分別為:(1) 文件操作模塊:對文件的打開、顯示及保存,如圖 42。(2) 邊緣檢測模塊:對圖像的輪廓跟蹤及提取,如圖 43(3) 輪廓處理模塊:運用 Roberts、Sobel、Prewitt、Krisch 及高斯拉普拉斯算子算法,如圖 42圖 41 圖像處理系統(tǒng)模塊圖沈陽工程學(xué)院畢業(yè)論文 第 4 章 系統(tǒng)總體設(shè)計 19 圖 42 各部分功能模塊圖畢業(yè)論文 第 5 章 系統(tǒng)詳細設(shè)計與實現(xiàn) 20 第 5 章 系統(tǒng)詳細設(shè)計與實現(xiàn) 圖像邊緣檢測 邊緣檢測的基本概念在圖像處理中,邊緣或輪廓不僅僅是指物體的邊界的線,還應(yīng)該包括能夠描繪圖像特征的線要素,這些線要素,這些線要素相當(dāng)于素描畫中的線條。簡單的線條就能讓人理解所要描述的物體。對于圖像處理來說,邊緣檢測是非常重要的操作。利用所提取的邊緣可以識別出特定的物體,測定物體的面積及周長,求兩幅圖像的對應(yīng)點等,所以邊緣檢測與提取處理是復(fù)雜的圖像識別,圖像理解的關(guān)鍵。圖像的特征值圖像場中可用作標(biāo)志的屬性。它可分為圖像的統(tǒng)計特征和圖像的視覺特征來兩類。圖像的統(tǒng)計特征是指一些人為定義的特征,通過變換才能得到,如圖像的直方圖、矩、頻譜等等;圖像的視覺特征是指人的視覺可直接感受到的自然特征,如區(qū)域亮度、紋理或輪廓等。利用這兩類圖像特征把圖像分解成一系列有意義的目標(biāo)或區(qū)域的過程稱為圖像的分割。圖像的邊緣是圖像的最基本特征。所謂邊緣(或邊沿)是指其周圍像素灰度有階躍變化或屋頂變化的那些像素的集合。邊緣廣泛存在于物體于背景之間、物體與物體之間、基元與基元之間。因此,它是圖像分割所依賴的重要特征。物體的邊緣是由灰度不連續(xù)性所反映的。經(jīng)典的邊緣提取方法是考察圖像的每個像素在某個鄰域內(nèi)灰度的變化,利用邊緣鄰近一階或二階方向?qū)?shù)變化規(guī)律。用簡單的方法檢測邊緣。這種方法稱為邊緣檢測局部算子法。邊緣的種類可以分為兩種:一種稱為階躍性邊緣,他兩邊的像素的灰度有著顯著的不同;另一種稱為屋頂狀邊緣,它位于灰度值從增加到減少的變化轉(zhuǎn)折點。如果一個像素落在圖像中某一個物體的邊界上,那么它的鄰域?qū)⒊蔀橐粋€灰度級的變化帶。對這種變化最有用的兩個特征是灰度的變化率和方向,他們分別以梯度向量的幅度和方向來表示。邊緣檢測算子檢查每個像素的鄰域并對灰度的變化率進行量化,也包括方向的確定。大多數(shù)使用基于方向?qū)?shù)掩模求卷積的方法。 邊緣檢測算子介紹本文用到以下幾種邊緣檢測算子。(1)Roberts 邊緣檢測算子。Roberts 邊緣檢測算子是一種局部差分算子尋找邊緣的算子 [8]。它由下式給出: G(x,y)={[f(x,y)f(x+1,y+1)]+[f(x,y)f(x+1,y+1)]}其中 f(x,y)是具有像素坐標(biāo)的輸入圖像,平方根運算使該處理類似于在人類視覺系畢業(yè)論文 第 5 章 系統(tǒng)詳細設(shè)計與實現(xiàn) 21 統(tǒng)中發(fā)生的過程。下面為 Robert 算法編程實現(xiàn)時所用到的函數(shù)源代碼:BOOL WINAPI RobertDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight){//指向源圖像的指針LPSTR lpSrc。//指向緩存圖像的指針LPSTR lpDst。//指向緩存 DIB 圖像的指針LPSTR lpNewDIBBits。HLOCAL hNewDIBBits。//循環(huán)變量long i。long j。//像素值double result。unsigned char pixel[4]。//暫時分配內(nèi)存,以保存新圖像hNewDIBBits = LocalAlloc(LHND, lWidth * lHeight)。if(hNewDIBBits == NULL){//分配內(nèi)存失敗return FALSE。}//鎖定內(nèi)存lpNewDIBBits = (char * )LocalLock(hNewDIBBits)。//初始化新分配的內(nèi)存,設(shè)定初始值為 255lpDst = (char *)lpNewDIBBits。memset(lpDst, (BYTE)255, lWidth * lHeight)。//使用水平方向的結(jié)構(gòu)元素進行腐蝕for(j = lHeight1。 j 0。 j){for(i = 0。i lWidth1。 i++){//由于使用 22 的模板,為防止越界,所以不處理最下邊和最右邊的兩列像素//指向源圖像第 j 行,第 i 個象素的指針畢業(yè)論文 第 5 章 系統(tǒng)詳細設(shè)計與實現(xiàn) 22 lpSrc = (char *)lpDIBBits + lWidth * j + i。//指向目標(biāo)圖像第 j 行,第 i 個象素的指針lpDst = (char *)lpNewDIBBits + lWidth * j + i。//取得當(dāng)前指針處 2*2 區(qū)域的像素值,注意要轉(zhuǎn)換為 unsigned char 型pixel[0] = (unsigned char)*lpSrc。pixel[1] = (unsigned char)*(lpSrc + 1)。pixel[2] = (unsigned char)*(lpSrc lWidth)。pixel[3] = (unsigned char)*(lpSrc lWidth + 1)。//計算目標(biāo)圖像中的當(dāng)前點result = sqrt(( pixel[0] pixel[3] )*( pixel[0] pixel[3] ) + \( pixel[1] pixel[2] )*( pixel[1] pixel[2] ))。*lpDst = (unsigned char)result。}}//復(fù)制腐蝕后的圖像memcpy(lpDIBBits, lpNewDIBBits, lWidth * lHeight)。//釋放內(nèi)存LocalUnlock(hNewDIBBits)。LocalFree(hNewDIBBits)。//返回return TRUE。}(2)Sobel 邊緣算子。如圖 51 所示的兩個卷積核形成了 sobel 邊緣算子,圖像的每個點都用這兩個核做卷積,一個核對通常的垂直邊緣響應(yīng)最大,而另一個對水平邊緣響應(yīng)最大。兩個卷積的最大值作為該點的輸出位。運算結(jié)果是一幅邊緣圖像。圖 51 sobel 算子卷積圖實現(xiàn)該算法的函數(shù)為:BOOL WINAPI SobelDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight){// 指向緩存圖像的指針LPSTR lpDst1。LPSTR lpDst2。1 2 1 0 0 0 1 2 11 0 12 0 21 0 1畢業(yè)論文 第 5 章 系統(tǒng)詳細設(shè)計與實現(xiàn) 23 // 指向緩存 DIB 圖像的指針LPSTR lpNewDIBBits1。HLOCAL hNewDIBBits1。LPSTR lpNewDIBBits2。HLOCAL hNewDIBBits2。//循環(huán)變量long i。long j。// 模板高度int iTempH。// 模板寬度int iTempW。// 模板系數(shù)FLOATfTempC。// 模板中心元素 X 坐標(biāo)int iTempMX。// 模板中心元素 Y 坐標(biāo)int iTempMY。//模板數(shù)組FLOAT aTemplate[9]。// 暫時分配內(nèi)存,以保存新圖像hNewDIBBits1 = LocalAlloc(LHND, lWidth * lHeight)。if (hNewDIBBits1 == NULL){// 分配內(nèi)存失敗return FALSE。}// 鎖定內(nèi)存lpNewDIBBits1 = (char * )LocalLock(hNewDIBBits1)。// 暫時分配內(nèi)存,以保存新圖像hNewDIBBits2 = LocalAlloc(LHND, lWidth * lHeight)。if (hNewDIBBits2 == NULL){// 分配內(nèi)存失敗return FALSE。}// 鎖定內(nèi)存畢業(yè)論文 第 5 章 系統(tǒng)詳細設(shè)計與實現(xiàn) 24 lpNewDIBBits2 = (char * )LocalLock(
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1