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

正文內(nèi)容

圖像處理綜合系統(tǒng)-文庫吧

2025-06-11 12:36 本頁面


【正文】 域以及調(diào)色板等等。對象使用的所有系統(tǒng)資源都會被釋放。Private Declare Function DeleteObject Lib gdi32 (ByVal hObject As Long) As Long(9)BitBlt函數(shù)將一幅位圖從一個設(shè)備場景復(fù)制到另一個。源和目標(biāo)DC相互間必須兼容。Private Declare Function BitBlt Lib gdi32 (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long(10)StretchBlt函數(shù)將一幅位圖從一個設(shè)備場景復(fù)制到另一個。源和目標(biāo)DC相互間必須兼容。這個函數(shù)會在設(shè)備場景中定義一個目標(biāo)矩形,并在位圖中定義一個源圖像。源矩形會根據(jù)需要進行伸縮,以便與目標(biāo)矩形的大小相符。Private Declare Function StretchBlt Lib gdi32 (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long(11)SetStretchBltMode函數(shù)指定StretchBlt 和 StretchDIBits函數(shù)的伸縮模式。這種伸縮模式定義了Windows如何對伸縮過程中剔除的掃描線進行控制。對于VB窗體和控件,倘若在API繪圖過程中使用這個函數(shù),建議恢復(fù)原來的StretchBlt模式。Private Declare Function SetStretchBltMode Lib gdi32 (ByVal hDC As Long, ByVal nStretchMode As Long) As Long(12)GetDIBColorTable函數(shù)選入設(shè)備場景的DIBSection中取得顏色表信息Private Declare Function GetDIBColorTable Lib gdi32 (ByVal hDC As Long, ByVal un1 As Long, ByVal un2 As Long, lpRGBQuad As Any) As Long(13)GetDIBits函數(shù)將來自一幅位圖的二進制位復(fù)制到一幅與設(shè)備無關(guān)的位圖里Private Declare Function GetDIBits Lib gdi32 (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpbi As Any, ByVal wUsage As Long) As Long(14)SetRect函數(shù)設(shè)置指定矩形的內(nèi)容Private Declare Function SetRect Lib user32 (lpRect As RECT2, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long) As Long(15)FillRect函數(shù)用指定的刷子填充一個矩形Private Declare Function FillRect Lib user32 (ByVal hDC As Long, lpRect As RECT2, ByVal hBrush As Long) As Long(16)CreateSolidBrush函數(shù)用純色創(chuàng)建一個刷子Private Declare Function CreateSolidBrush Lib gdi32 (ByVal crColor As Long) As Long(17)CreatePalette函數(shù)創(chuàng)建調(diào)色板 Private Declare Function CreatePalette Lib gdi32 (lpLogPalette As Any) As Long(18)GetDC函數(shù)獲取指定窗口的設(shè)備場景Private Declare Function GetDC Lib user32 (ByVal hWnd As Long) As Long(19)GetDesktopWindow函數(shù)獲得代表整個屏幕的一個窗口(桌面窗口)句Private Declare Function GetDesktopWindow Lib user32 () As Long(20)ReleaseDC函數(shù)釋放由調(diào)用GetDC或GetWindowDC函數(shù)獲取的指定設(shè)備場景。它對類或私有設(shè)備場景無效Private Declare Function ReleaseDC Lib user32 (ByVal hWnd As Long, ByVal hDC As Long) As Long(21)OpenClipboard函數(shù)打開剪貼板Private Declare Function OpenClipboard Lib user32 (ByVal hWnd As Long) As Long(22)CloseClipboard函數(shù)關(guān)閉剪貼板 Private Declare Function CloseClipboard Lib user32 () As Long(23)SetClipboardData函數(shù)設(shè)定剪貼板的數(shù)據(jù)Private Declare Function SetClipboardData Lib user32 (ByVal wFormat As Long, ByVal hMem As Long) As Long(24)EmptyClipboard函數(shù)清空剪貼板 Private Declare Function EmptyClipboard Lib user32 () As Long(25)DeleteObject函數(shù)刪除GDI對象,比如畫筆、刷子、字體、位圖、區(qū)域以及調(diào)色板等等。對象使用的所有系統(tǒng)資源都會被釋放Private Declare Function DeleteObject Lib gdi32 (ByVal hObject As Long) As Long本系統(tǒng)中還使用了其他一些API函數(shù),讀者可以參考相關(guān)的資料。3.常用圖像處理原理本系統(tǒng)實現(xiàn)了很多的圖像處理的功能,但是每種圖像處理都有一定的理論基礎(chǔ),下面介紹一些常用的圖像處理的原理。(1)圖像的灰度處理圖像由彩色轉(zhuǎn)化為灰度的過程叫做灰度化,由于位圖為點陣圖像,它的每一個像素點有R、G、B三個分量組成,R、G、B的變化可以產(chǎn)生1600多萬種顏色,Delphi中灰度化有幾種方法可以實現(xiàn):方法一:求出每一個像素點的R、G、B的平均值,然后把這個平均值賦給該像素點的R、G、B三個分量。方法二:求出每一個像素點R、G、B三個分量的最大值,然后把這個最大值賦給原來像素點的R、G、B三個分量。方法三:根據(jù) YUV的顏色空間,Y分量的物理含義就是亮度,它含了灰度圖的所有信息,只用Y分量就完全能夠表示出一幅灰度圖來。YUV和RGB之間有著如下的對應(yīng)關(guān)系: 利用上式,可以求出:Y=+0587G+根據(jù)R,G,B的值求出Y值后,將R,G,B值都賦值成Y,就能表示出灰度圖來,這就是24位真彩色圖轉(zhuǎn)灰度圖的原理。(2)圖像的二值化 圖像的二值化的具體辦法是:通過設(shè)定閾值(Threshold),把灰度圖像變換成僅用兩個值(0或1)來分別表示的圖像目標(biāo)和圖像背景的二值圖像,其中目標(biāo)取值為1,背景值取值為0。實際的位圖(Bitmap)中,0對應(yīng)于RGB值均為0,1對應(yīng)于RGB值均為255,二值化圖像的方法很多,閾值的選擇是二值化圖像的關(guān)鍵。閾值的選擇主要可以分為兩類:全局閾值和局部閾值。全局閾值是對整個圖像采用一個閾值進行劃分,例如固定閾值法二值化、判斷分析法二值化、基于灰度差直方圖的閾值法等。不同的灰度圖像,其灰度深度是存在差異的。同一幅灰度圖像,不同部位其明暗分布可能是不同的。因此,在對灰度圖像進行二值化的過程中,如果選用全局閾值法顯然是不合適的。局部閾值是將圖像分成一些子塊,對于每一子塊選定一個閾值。其中動態(tài)閾值法是一個變換方法,即在一個nn的子塊中,所有具有灰度級超過平均灰度值到255數(shù)據(jù)點變換1(即黑色),而另一些低于平均灰度值的數(shù)據(jù)點則變換到1(即白色)。具體作法如下:圖像分為nn的方塊,對每一個子塊計算其平均灰度值,然后將方塊中每個像素點的灰度值與平均灰度值進行比較,若大于平均灰度值,則將該像素點灰度值置為255;反之則置為0。一般采用88的分塊大小的動態(tài)閾值二值化方法能取得的效果最佳。(3)圖像對比度圖像對比度是指圖像上兩點問信號的差異。在一幅灰階圖像上,信號的差異是通過灰度(或亮度)的明暗來體現(xiàn)的,高對比度意思是圖像上兩個不同觀察點一個非常暗,另一個非常亮,而低對比度表示兩點的相對亮度差別較小,當(dāng)在提高對比度時,圖像中的暗色調(diào)變得更暗,亮色區(qū)域變得更亮,而人眼在辯認(rèn)一件事物時,更多地是從色彩的差錯對比中得出結(jié)論,因此更大的對比度會帶來更為醒目的效果。對比度的改變,往往使暗色調(diào)損失細(xì)節(jié),因此,在幾乎所有位圖處理軟件中,都將明暗度(Brightness)調(diào)整功能與對比度調(diào)整功能集中放在一起以便于使用。適當(dāng)?shù)剡M行一些明暗調(diào)整,會讓整個圖像顯得更加自然。在Delphi程序設(shè)計中,一個簡化的方法是:區(qū)間調(diào)節(jié)即首先設(shè)定一個閾值,通常是128;然后判斷像素點的R,G,B值,凡是大于128的,增加一個值,小于128的,減少一個值。(4)圖像平移初始坐標(biāo)為(x0,y0)的點經(jīng)過平移(tx,ty)(以向右,向下為正方向)后,坐標(biāo)變?yōu)椋▁1,y1)。這兩點之間的關(guān)系是x1=x0+tx;y1=y0+:它的逆變換:由于我們想知道的是平移后的圖像中每個像素的顏色。很顯然,該點是原圖中的某一點經(jīng)過平移后得到的,這兩點的顏色肯定是一樣的,所以只要知道了原圖那點的RGB值即可。那么到底新圖中的左上角點對應(yīng)原圖中的哪一點呢?將左上角點的坐標(biāo)(0,0)代入逆變換,得到x0=tx;y0=ty;所以新圖中的(0,0)點的顏色和原圖中(tx,ty)的一樣。也就是通過平移后的像素點的位置返回去求出原始點的像素位置,這樣就存在一個問題:如果新圖中有一點(x1,y1),如果變化得到的(x0,y0)不在原圖中則把該點的RGB值統(tǒng)一設(shè)成白色(255,255,255),平移后的圖像沒有縮放,移出的部分被截斷。(5)圖像的旋轉(zhuǎn)圖像的旋轉(zhuǎn)其實就是圖像上像素點的坐標(biāo)變換,假如旋轉(zhuǎn)前某一點的坐標(biāo)位[x,y,1],旋轉(zhuǎn)后的坐標(biāo)為,在二維平面上點繞原點順時針旋轉(zhuǎn)角,則其變換矩陣為:坐標(biāo)的變換公式:旋轉(zhuǎn)前的圖像上的點如果用上述變換矩陣,則有可能多個點映射到同一個點,為此我們采用坐標(biāo)的反變換公式,先求出旋轉(zhuǎn)后的圖像的點對應(yīng)的旋轉(zhuǎn)前的圖像上的點,此時只需把旋轉(zhuǎn)前的點的像素值賦給旋轉(zhuǎn)后的相應(yīng)的點,這種方法可以保證旋轉(zhuǎn)后的每一個點都能被賦值。反變換公式如下:此時的旋轉(zhuǎn)的中心點在圖像的原點,也就是客戶區(qū)坐標(biāo)的左上角,如果要求旋轉(zhuǎn)的中心點為圖像的中心,則反變換公式修改如下:其中icenter和jcenter分別是旋轉(zhuǎn)前圖像的寬度和高度的一半,此時在內(nèi)存中動態(tài)創(chuàng)建兩個位圖對象TempBmp和NewBmp,一個用于存放旋轉(zhuǎn)前的位圖(TempBmp),另一個則是存放旋轉(zhuǎn)后的位圖(NewBmp),位圖格式為24位真彩色。(6)圖像鏡像所謂的鏡像顯示,就是好像一幅圖像放在鏡頭里面,形成兩幅絕對對稱的圖像,具體操作時具有水平鏡向和垂直鏡像之分,這其中包括兩幅圖像的顯示過程,即正面圖像和反面圖像,正面圖像的顯示方法非常簡單,關(guān)鍵之處是反面圖像的顯示過程,這其中涉及圖像的變形操作;實現(xiàn)圖像變形的一種簡單方法是重新安排像素位置,比如左面和右面的像素條一一對換,即可得到水平方向的反面圖像,同樣通過上下像素條的對換則可得到垂直方向的反面圖像。為了得到更美觀的鏡像顯示效果,具體操作時不能先顯示一幅正常圖像,然后再顯示反面圖像,而需要兩個圖像時從交叉點向外顯示,這樣將形成特殊的屏幕效果。(7)圖像扭曲圖像扭曲的原理為將位圖圖像中的每一個像素點按照一定的半徑進行逆時針旋轉(zhuǎn)到新的位置,旋轉(zhuǎn)的角度由該點的原始坐標(biāo)以及圖像的原始大小決定,整體效果就好像被扭曲了一樣。(8)圖像波浪效果與圖像的扭曲類似,在處理此類問題的時候一般用反向求取法,即假如對一幅經(jīng)過波浪處理過的圖像上的一個像素點Pixels[i, j],通過坐標(biāo)的反變換,我們可以求出這個點所對應(yīng)的是原始位圖上的哪一個點,求出原始圖上該點的坐標(biāo),例如波浪處理過的圖像上的一點為Pixels[XSrc,YSrc],而經(jīng)過坐標(biāo)反變換后得到對應(yīng)的點為Pixels[i,j],則只需Pixels[i, j]=Pixels[XSrc,YSrc],就實現(xiàn)像素點的顏色賦值。(9)顏色空間轉(zhuǎn)換對于任何3個單位化到[0,1]范圍內(nèi)得R、G、B值,其對應(yīng)的HSL模型中的H、S、L可由下面的計算: 公式(10)HSL轉(zhuǎn)換RGB,要先把S、L單位化,R、G、B也在[0,1]之間。當(dāng)H在[00
點擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1