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

正文內(nèi)容

vc環(huán)境下實(shí)現(xiàn)圖像的融合畢業(yè)論文-文庫(kù)吧資料

2025-07-04 09:03本頁(yè)面
  

【正文】 應(yīng)用場(chǎng)合,有目的地強(qiáng)調(diào)圖像的整體或局部特性,將原來不清晰的圖像變得清晰或強(qiáng)調(diào)某些感興趣的特征,擴(kuò)大圖像中不同物體特征之間的差別,抑制不感興趣的特征,使之改善圖像質(zhì)量、豐富信息量,加強(qiáng)圖像判讀和識(shí)別效果,滿足某些特殊分析的需要。 融合算法常結(jié)合圖像的平均值、熵值、標(biāo)準(zhǔn)偏差、平均梯度;平均梯度反映了圖像中的微小細(xì)節(jié)反差與紋理變化特征,同時(shí)也反映了圖像的清晰度。 在特征級(jí)融合中,保證不同圖像包含信息的特征,如紅外光對(duì)于對(duì)象熱量的表征,可見光對(duì)于對(duì)象亮度的表征等等。 像素級(jí)融合中有空間域算法和變換域算法,空間域算法中又有多種融合規(guī)則方法,如邏輯濾波法,灰度加權(quán)平均法,對(duì)比調(diào)制法等;變換域中又有金字塔分解融合法,小波變換法。數(shù)據(jù)級(jí)融合也稱像素級(jí)融合,是指直接對(duì)傳感器采集來得數(shù)據(jù)進(jìn)行處理而獲得融合圖像的過程,它是高層次圖像融合的基礎(chǔ),也是目前圖像融合研究的重點(diǎn)之一。 圖像融合技術(shù)是指將多源信道所采集到的關(guān)于同一目標(biāo)的圖像經(jīng)過一定的圖像處理,提取各自信道的信息,最后綜合成同一圖像以供觀察或進(jìn)一步處理。 (m_nPalette = 256))。 } ASSERT((m_nPalette = 0) amp。 default: ASSERT(FALSE)。 case 16: case 24: case 32: m_nPalette = 0。 case 8: m_nPalette = 256。 case 4: m_nPalette = 16。 if((m_DibHead == NULL) || (m_DibHeadbiClrUsed == 0)) { switch(nBitCount) { case 1: m_nPalette = 2。 m_ImageSize = dwBytes * m_DibHeadbiHeight。 if(((DWORD) m_DibHeadbiWidth * m_DibHeadbiBitCount) % 32) { dwBytes++。 } m_ImageSize = m_DibHeadbiSizeImage。 m_hPalette = NULL。 m_hFile = NULL。 m_lpvFile = NULL。 m_nPalette = 0。 m_Image = NULL。 m_hGlob = NULL。 if(m_Bmp != NULL) ::DeleteObject(m_Bmp)。 } if(m_nImageallocate == crtallocate) delete [] m_Image。 } else if(m_nBmpallocate == heapallocate) { ::GlobalUnlock(m_hGlob)。 m_hFile = NULL。 ::CloseHandle(m_hMap)。}void CDipView::Clear(){ if(m_hFile == NULL) return。 return FALSE。 } catch(CException* tmpc) { AfxMessageBox(文件讀取錯(cuò)誤)。 m_Image = (LPBYTE) new char[m_ImageSize]。 SetPaletteSize(m_DibHeadbiBitCount)。 m_nBmpallocate = m_nImageallocate = crtallocate。 } nSize = sizeof(BITMAPFILEHEADER)。 if(nCount != sizeof(BITMAPFILEHEADER)) { throw new CException。 try { nCount = pFileRead((LPVOID) amp。 BITMAPFILEHEADER bmfh。 return TRUE。dc。 CClientDC dc(this)。 return TRUE。 } m_hPalette=::CreatePalette(pTempPalette)。 pTempPalettepalPalEntry[i].peFlags=0。 pTempPalettepalPalEntry[i].peGreen=pRGBQuadrgbGreen。im_nPalette。 LPRGBQUAD pRGBQuad=(LPRGBQUAD)m_ColorList。 pTempPalettepalVersion=0x30。 if(m_hPalette!=NULL) ::DeleteObject(m_hPalette)。 return TRUE。 } pDCSetStretchBltMode(COLORONCOLOR)。 if(m_hPalette!=NULL) { HDC hdc=pDCGetSafeHdc()。 return TRUE。 m_Image=(LPBYTE)m_ColorList+sizeof(RGBQUAD)*m_nPalette。 m_DibHead=(LPBITMAPINFOHEADER)lmem。 return CSize((int)m_DibHeadbiWidth,(int)m_DibHeadbiHeight)。運(yùn)行結(jié)果:圖22運(yùn)行結(jié)果圖23 運(yùn)行結(jié)果附錄1:讀取bmp位圖的函數(shù)代碼。myfile)==TRUE) Invalidate()。 ((),CFile::modeRead)。 if(()!=IDOK) return。并在具體的函數(shù)實(shí)現(xiàn)其功能,具體代碼見附錄1。 BOOL MemToDib(LPVOID lmem)。 BOOL GetPalette()。 BOOL ReadFile(CFile *pFile)。 void SetPaletteSize(int nBitCount)。 利用ClassWizard向CdipView類中加入如下成員函數(shù)。 HPALETTE m_hPalette。 HANDLE m_hMap。 int m_nPalette。 allocate m_nImageallocate。 enum allocate {None, crtallocate, heapallocate}。 LPBYTE m_Image。 HBITMAP m_Bmp。 在應(yīng)用程序中加入具體的函數(shù)和變量。選擇single document,并在最后CdipView類的基類中選擇CscrollView,使應(yīng)用程序視圖具有滾動(dòng)條。如下圖所示。 生成一名為dip的基于MFC的應(yīng)用程序框架:選擇file菜單new選項(xiàng),在打開的窗口中選擇project選項(xiàng),選中MFC AppWizard(exe)。對(duì)于256色圖,一個(gè)字節(jié)剛好表示1個(gè)像素。對(duì)于2色圖,用1位表示像素的值。用于存放圖像的顏色。BYTE rgbReserved。 BYTE rgbGreen。} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER。 DWORD biClrUsed。 LONG biXPelsPerMeter。//pression or not DWORD biSizeImage。//value is 1 WORD biBitCount。//image width LONG biHeight。 位圖信息頭BITMAPINFOHEADER,定義如下:typedef struct tagBITMAPINFOHEADER{ DWORD biSize。//保留 DWORD bfOffBits。//文件大小 WORD bfReserved1。BMP位圖文件中主要由4部分內(nèi)容組成: 文件頭BITMAPFILEHEADER為一STRUCTURE:typedef struct tagBITMAPFILEHEADER { WORD bfType。 如果想知道這些值是如何得到的,請(qǐng)參考下面文件格式的部分。另外需要注意的是這是一個(gè)近似值,對(duì)于n位的位圖圖像來說,盡管可能有最多2n中顏色,一個(gè)特定的圖像可能并不會(huì)使用這些所有的顏色。 n位2n種顏色的位圖近似字節(jié)數(shù)可以用下面的公式計(jì)算: BMP文件大小約等于 54+4*2的n次方+(w*h*n)/8,其中高度和寬度都是像素?cái)?shù)。圖片瀏覽器等基于字節(jié)的ASCII值計(jì)算像素的顏色,然后從調(diào)色板中讀出相應(yīng)的值。因此它們通常不適合在因特網(wǎng)或者其它低速或者有容量限制的媒介上進(jìn)行傳輸。 bmp 文件的讀取BMP文件通常是不壓縮的,所以它們通常比同一幅圖像的壓縮圖像文件格式要大很多。Windows ,因此把這種BMP圖象文件格式稱為設(shè)備無關(guān)位圖DIB(deviceindependent bitmap)格式(注:Windows ,在系統(tǒng)中仍然存在DDB位圖,象BitBlt()這種函數(shù)就是基于DDB位圖的,只不過如果你想將圖像以BMP格式保存到磁盤文件中時(shí),微軟極力推薦你以DIB格式保存),目的是為了讓W(xué)indows能夠在任何類型的顯示設(shè)備上顯示所存儲(chǔ)的圖象。Windows系統(tǒng)內(nèi)部各圖像繪制操作都是以BMP為基礎(chǔ)的。因此,在輸出一幅DIB位圖之前,程序應(yīng)該將其邏輯調(diào)色板選入到相關(guān)的設(shè)備上下文并實(shí)現(xiàn)到系統(tǒng)調(diào)色板中。DIB一般是以*.BMP文件的形式保存在磁盤中的,有時(shí)也會(huì)保存在*.DIB文件中。一般只能載入色彩較簡(jiǎn)單的DDB位圖,對(duì)于顏色較豐富的位圖,需使用DIB才能長(zhǎng)期保存。在此基礎(chǔ)上我們來分析DDB位圖(Devicedependent bitmap,與設(shè)備相關(guān)的位圖)與DIB位圖(Deviceindependent bitmap,與設(shè)備無關(guān)的位圖)的概念以及二者的區(qū)別。存儲(chǔ)空間被大為減少!常見的位圖有單色(實(shí)際是1位圖,2的一次方為2,因此它是2色圖,黑白色)、16色(實(shí)際是4位圖,2的4次方16,因此它能表示16種顏色)、256色(實(shí)際是8位圖,這種位圖的每個(gè)像素都用8位剛好一個(gè)字節(jié)來表示,2的8次方為256,因此它能表示256種顏色也即256種RGB的組合也即這種位圖的色深)、16位(2的16次方=65536)及24位(2的24次方=1677萬(wàn)種顏色和256級(jí)灰度值。假設(shè)一個(gè)位圖為16色,16色就是上面談到的可以表示多少種顏色,計(jì)算一下,2的4次方=16,因此它是4位圖,我們只需要在圖像數(shù)據(jù)中用4個(gè)bit就可以存儲(chǔ)這個(gè)位圖的每個(gè)像素在16種顏色中所處的等級(jí),接下來會(huì)談到調(diào)色板索引所占的空間字節(jié)數(shù),因?yàn)樗皇且粋€(gè)索引,所占的空間會(huì)比圖像數(shù)據(jù)RGB結(jié)構(gòu)小很多,再設(shè)其像素總數(shù)為800600(位圖大小)。既然用R,G,B的量化值就可以直接記錄一張位圖的所有像素,那我們需要調(diào)色板干什么呢?首先,我們可以計(jì)算完全利用(R,G,B)組合來存儲(chǔ)一個(gè)800600的位圖所需要的空間為:8006003 = 1440000(字節(jié))= (字節(jié)),3是記錄每個(gè)像素RGB值所用的字節(jié)數(shù),這里說的是24位圖,RGB值就用來描述一個(gè)像素,位圖是由像素組成的,因此用一張位圖大小乘它的像素?cái)?shù)就可以直接描述一張位圖,驚人的大!因此,調(diào)色板橫空出世了,它的功能在于緩解位圖文件存儲(chǔ)空間(顯存或系統(tǒng)內(nèi)存)過大的問題。對(duì)于人眼而言,這已經(jīng)是真彩色了。我們知道,自然界中的所有顏色都可以由紅、綠、藍(lán)(R,G,B)三基色組合而成。擴(kuò)大位圖尺寸的效果是增大單個(gè)像素,從而使線條和形狀顯得參差不齊。這些點(diǎn)可以進(jìn)行不同的排列和染色以構(gòu)成圖樣。5. 對(duì)ODBC功能的封裝:以少量的能提供與ODBC之間更高級(jí)接口的C++類,封裝了ODBC API的大量的復(fù)雜的工作,提供了一種數(shù)據(jù)庫(kù)編程模式。4. 對(duì)COM/OLE特性的封裝:OLE建立在COM模型之上,由于支持OLE的應(yīng)用程序必須實(shí)現(xiàn)一系列的接口(Interface),因而相當(dāng)繁瑣。另外,MFC提出了以文檔視圖為中心的編程模式,MFC類庫(kù)封裝了對(duì)它的支持。3. 對(duì)應(yīng)用程序概念的封裝:使用SDK編寫Windows應(yīng)用程序時(shí),總要定義窗口過程,登記Windows Class,創(chuàng)建窗口,等等。2. 對(duì)Win32應(yīng)用程序編程接口的封裝:用一個(gè)C++ Object來包裝一個(gè)Windows Object。MFC類庫(kù)是C++類庫(kù)。Microsoft Visual C++提供了相應(yīng)的工具來完成這個(gè)工作:AppWizard可以用來生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計(jì)用戶接口;ClassWizard用來協(xié)助添加代碼到框架文件;最后,編譯,則通過類庫(kù)實(shí)現(xiàn)了應(yīng)用程序特定的邏輯。面向?qū)ο蟮某绦蛟O(shè)計(jì)方法使得程序結(jié)構(gòu)清晰、簡(jiǎn)單,提高了代碼的重用性,有效地減少了程序的維護(hù)量,提高了軟件的開發(fā)效率 MFC編程框架MFC (Microsoft Foundation Class Library)中的各種類結(jié)合起來構(gòu)成了一個(gè)應(yīng)用程序框架,它的目的就是讓程序員在此基礎(chǔ)上來建立Windows下的應(yīng)用程序,這是一種相對(duì)SDK來說更為簡(jiǎn)單的方法。事件驅(qū)動(dòng)程序執(zhí)行圍繞消息的產(chǎn)生與處理,靠消息循環(huán)機(jī)制來實(shí)現(xiàn)。類的集成度越高,就越適合大型應(yīng)用程序的開發(fā)。它以數(shù)據(jù)為中心而不是以功能為中心來描述系統(tǒng),數(shù)據(jù)相對(duì)于功能而言具有更強(qiáng)的穩(wěn)定性。通過面向?qū)ο蠹夹g(shù),可以將客觀世界直接映射到面向?qū)ο蠼饪臻g,從而為軟件設(shè)計(jì)和系統(tǒng)開發(fā)帶來革命性影響。同時(shí),它不僅局限于程序設(shè)計(jì)方面,已經(jīng)
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1