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

正文內(nèi)容

圖像處理綜合系統(tǒng)(更新版)

  

【正文】 Picture(BITMAP_TBQUICK, vbResBitmap), amp。編者手記如果已經(jīng)創(chuàng)建了一個(gè)工程,需要在該工程中添加控件,則可以通過(guò)菜單【工程】224。 本節(jié)介紹的系統(tǒng)將提供以下功能:(1)能夠顯示各種文件類型的圖片;(2)能夠保存成多種文件格式的圖片;(3)能夠?qū)崿F(xiàn)圖像漫游, 瀏覽大圖片的時(shí)候,可以通過(guò)鼠標(biāo)拖動(dòng)圖片或者通過(guò)鍵盤方向鍵來(lái)移動(dòng)大圖片;(4)能夠選取圖像;(5)能夠進(jìn)行圖像的復(fù)制粘貼;(6)能夠放大、縮小圖像、查看原始圖像大小、以及自適應(yīng)顯示圖像即隨著窗體的大小將圖像全部顯示在窗體中;(7)能夠撤銷或者重復(fù)上一步的操作;(8)當(dāng)前編輯圖像的狀態(tài)顯示;(9)能夠進(jìn)行多種顏色之間的轉(zhuǎn)化,如黑白圖、16色灰度圖、256色灰度圖等;(10)能夠改變圖像的大小;(11)能夠旋轉(zhuǎn)圖像;(12)能夠鏡像圖像;(13)常用的圖像參數(shù)調(diào)整,如飽和度調(diào)整、亮度調(diào)整、 對(duì)比度調(diào)整;(14)能夠選取圖像中任一像素的顏色值;(14)常用的各種圖像處理技術(shù),如Greys、Negative、Sepia、Colorize、Replace HS、Replace L、Shift、Blur、Soften、Sharpen、Diffuse、Pixelaze、Despeckle、Contour、Emboss、Outline、Relieve、Noise、Scanlines、Dilate、Erode、Texturize等;(15)各種常見(jiàn)的圖像特效效果,如百葉窗效果、馬賽克效果、翻頁(yè)效果等;(16)快速查看放大圖像的局部位置; 編程原理本系統(tǒng)文件很多,設(shè)計(jì)了很多的編程技術(shù)和原理,下面就重點(diǎn)介紹其中的一些比較重要的編程技術(shù)和原理。 圖163 將圖片載入程序 圖164 瀏覽放大后的圖像 圖165 瀏覽縮小后的圖像 圖166 向左旋轉(zhuǎn)圖片 圖167 向右旋轉(zhuǎn)圖片 圖168 圖片變暗如果在圖片上使用了畫圖工具或者將圖片變暗后,當(dāng)單擊“編輯”欄中的“恢復(fù)”命令按鈕后,“操作區(qū)域”就會(huì)恢復(fù)到圖163時(shí)的載入狀態(tài)。圖像綜合處理中的畫圖如圖162所示。對(duì)圖像的旋轉(zhuǎn)我們采用的是逐點(diǎn)計(jì)算法。此系統(tǒng)能夠?qū)崿F(xiàn)圖片的瀏覽、放大和縮小、旋轉(zhuǎn)、灰暗化,以及在圖片上畫出能夠設(shè)置顏色和線條寬度的線。在圖片上畫圖應(yīng)用了鼠標(biāo)的MouseDown,MouseUp和MouseMove事件,通過(guò)邏輯變量來(lái)控制畫筆和橡皮是否可用,使用PictureBox控件的Line方法用鼠標(biāo)點(diǎn)擊相應(yīng)的圖標(biāo)即可設(shè)置線條寬度DrawWidth屬性。載入圖像后就可以對(duì)圖片進(jìn)行相應(yīng)的操作,點(diǎn)擊“編輯”欄中的“放大”命令按鈕,“操作區(qū)域”中的圖片行對(duì)于“對(duì)比區(qū)域”將被放大,你可以拉動(dòng)水平或垂直滾動(dòng)條來(lái)瀏覽放大后的圖像(如圖164所示)和縮小后的圖像(如圖165所示)。由于篇幅有限,本案例代碼被省略39。開(kāi)發(fā)自定義控件,很多語(yǔ)言都可以實(shí)現(xiàn),如Visual C ++、Visual Basic、Delphi等,在Visual Basic中開(kāi)發(fā)控件,非常簡(jiǎn)單方便,下面簡(jiǎn)單介紹自定義開(kāi)發(fā)組件的過(guò)程。在控件中添加屬性主要是通過(guò)“Public Property Let”和“Public Property Get”兩個(gè)方法來(lái)實(shí)現(xiàn),下面來(lái)看看控件“ucInfo”的“TextFile”屬性定義過(guò)程。2.API的應(yīng)用由于本系統(tǒng)是進(jìn)行圖像處理,眾所周知,數(shù)字圖像一般都比較大,如果使用Visual Basic自帶的一些圖像控件來(lái)進(jìn)行各種圖像處理,則會(huì)極大的影響速度。每個(gè)設(shè)備場(chǎng)景都可能有選入其中的圖形對(duì)象。源和目標(biāo)DC相互間必須兼容。Private Declare Function SetStretchBltMode Lib gdi32 (ByVal hDC As Long, ByVal nStretchMode As Long) As Long(12)GetDIBColorTable函數(shù)選入設(shè)備場(chǎng)景的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ù)將來(lái)自一幅位圖的二進(jìn)制位復(fù)制到一幅與設(shè)備無(wú)關(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ù)用指定的刷子填充一個(gè)矩形Private Declare Function FillRect Lib user32 (ByVal hDC As Long, lpRect As RECT2, ByVal hBrush As Long) As Long(16)CreateSolidBrush函數(shù)用純色創(chuàng)建一個(gè)刷子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è)備場(chǎng)景Private Declare Function GetDC Lib user32 (ByVal hWnd As Long) As Long(19)GetDesktopWindow函數(shù)獲得代表整個(gè)屏幕的一個(gè)窗口(桌面窗口)句Private Declare Function GetDesktopWindow Lib user32 () As Long(20)ReleaseDC函數(shù)釋放由調(diào)用GetDC或GetWindowDC函數(shù)獲取的指定設(shè)備場(chǎng)景。(2)圖像的二值化 圖像的二值化的具體辦法是:通過(guò)設(shè)定閾值(Threshold),把灰度圖像變換成僅用兩個(gè)值(0或1)來(lái)分別表示的圖像目標(biāo)和圖像背景的二值圖像,其中目標(biāo)取值為1,背景值取值為0。局部閾值是將圖像分成一些子塊,對(duì)于每一子塊選定一個(gè)閾值。在Delphi程序設(shè)計(jì)中,一個(gè)簡(jiǎn)化的方法是:區(qū)間調(diào)節(jié)即首先設(shè)定一個(gè)閾值,通常是128;然后判斷像素點(diǎn)的R,G,B值,凡是大于128的,增加一個(gè)值,小于128的,減少一個(gè)值。(6)圖像鏡像所謂的鏡像顯示,就是好像一幅圖像放在鏡頭里面,形成兩幅絕對(duì)對(duì)稱的圖像,具體操作時(shí)具有水平鏡向和垂直鏡像之分,這其中包括兩幅圖像的顯示過(guò)程,即正面圖像和反面圖像,正面圖像的顯示方法非常簡(jiǎn)單,關(guān)鍵之處是反面圖像的顯示過(guò)程,這其中涉及圖像的變形操作;實(shí)現(xiàn)圖像變形的一種簡(jiǎn)單方法是重新安排像素位置,比如左面和右面的像素條一一對(duì)換,即可得到水平方向的反面圖像,同樣通過(guò)上下像素條的對(duì)換則可得到垂直方向的反面圖像。圖1611 模糊邊緣帶來(lái)的影響圖像銳化(Image Sharpening)是一種使圖像具有的信息讓人們易于觀察的圖像質(zhì)量改善方法,從數(shù)學(xué)角度上講就是對(duì)圖像進(jìn)行微分化處理。卷積可以看成是加權(quán)求和的過(guò)程,卷積時(shí)使用一個(gè)很小的矩陣來(lái)表示,矩陣的維數(shù)為奇數(shù),該矩陣體現(xiàn)在程序中就是模板概念,區(qū)域中的每個(gè)像素分別與模板中相應(yīng)的元素相乘,相乘之和即為區(qū)域中心像素新值,例如一個(gè)33的區(qū)域A和模板P卷積后,區(qū)域A的中心像素A5像素值表示為:其中, 不同的模板可以得到不同的效果,一般所用模板采用33矩陣,在采用模板操作時(shí)必須解決兩個(gè)問(wèn)題,即邊界點(diǎn)問(wèn)題,一般可以忽略第一列和最后一列像素的操作,或者直接進(jìn)行邊界像素的拷貝,還有一個(gè)問(wèn)題即是越界問(wèn)題,必須保證中心像素點(diǎn)的各分量在0~255范圍。主要有鄰域平均法,低通濾波法,和多圖像濾波法等,本節(jié)主要介紹鄰域平均法。(13)Hough變換Hough變換用來(lái)在圖像中查找直線。同理梯度為45度方向模板,可以檢測(cè)出135度方向的邊沿。它把我們?cè)诘?講中介紹的高斯平滑濾波器和拉普拉斯銳化濾波器結(jié)合了起來(lái),先平滑掉噪聲,再進(jìn)行邊沿檢測(cè),所以效果會(huì)更好。因?yàn)楸鞠到y(tǒng)功能非常強(qiáng)大,因此很多功能都是集成在其他的類模塊、基本模塊中?!?jiǎng)?chuàng)建DIB空間 m_hDC = CreateCompatibleDC(0) If (m_hDC 0) Then 39。代碼省略(3)CreateFromStdPicture函數(shù),該函數(shù)根據(jù)源圖像創(chuàng)建一個(gè)新圖像;Public Function CreateFromStdPicture(Picture As StdPicture, Pal As cDIBPal, Dither As cDIBDither) As Long Dim tBI As Bitmap Dim lhDC As Long Dim lhOldBmp As Long Dim nColors As Integer Dim tBIH As BITMAPINFOHEADER Dim aData() As Byte If (Not Picture Is Nothing) Then 39?!?jiǎng)h除臨時(shí)設(shè)備描述表 Call SelectObject(lhDC, lhOldBmp) Call DeleteDC(lhDC) CreateFromStdPicture = IIf( = 8, , 24) End If End If End If End IfEnd Function(4)CopyToClipboard函數(shù),該函數(shù)將圖像復(fù)制到剪貼板中;Public Sub CopyToClipboard() Dim dsk_hWnd As Long Dim dsk_hDC As Long Dim clp_hDC As Long Dim clp_hObj As Long Dim clp_hOldObj As Long If (m_hDIB 0) Then If (OpenClipboard(0) 0) Then 39。本系統(tǒng)實(shí)現(xiàn)了大多數(shù)常用的濾鏡效果。代碼省略,詳細(xì)代碼請(qǐng)參見(jiàn)光盤 (4)Diffuse濾鏡39。代碼省略,詳細(xì)代碼請(qǐng)參見(jiàn)光盤 (12)ReplaceHS濾鏡39。代碼省略,詳細(xì)代碼請(qǐng)參見(jiàn)光盤 本系統(tǒng)還有其他大量濾鏡,希望讀者參照本書源代碼進(jìn)行學(xué)習(xí)。創(chuàng)建BMP文件頭 With tBFH .bfType = amp。 RGB based (Get RGB bits) Call GetDIBits(, , 0, , aData(0, 0), tBIH, DIB_RGB_COLORS) End Select 39。顏色選擇對(duì)話框如圖1615所示?!斎霔l件: RGB 參數(shù)在[0,1]范圍內(nèi) Max = pvMaximum(rR, rG, rB) Min = pvMinimum(rR, rG, rB) L = (Max + Min) / 2 39。代碼省略,詳細(xì)代碼請(qǐng)參見(jiàn)光盤 (2)GetINI函數(shù)39。(1)HookWheel函數(shù)Public Sub HookWheel() 39。其中“Crop”表示剪切當(dāng)前被選擇的圖像區(qū)域、“Copy”表示復(fù)制被選擇的區(qū)域,而“Remove Frame”則表示取消選取?!@取坐標(biāo) Call (x1, y1, x2, y2) 39。18.cInfo控件ucInfo控件用于顯示當(dāng)前處理圖像的信息,如顯示當(dāng)前圖像的顯示比例、當(dāng)前圖像的路徑、當(dāng)前圖像的大小。該類中也使用了很多的API函數(shù)。然后調(diào)用GetFileName來(lái)調(diào)用fDialogEx對(duì)話框?qū)嵗齭Ret = GetFileName(m_LastPath, Supported files|*.bmp。選擇材質(zhì)的對(duì)話框名稱為fTexturize。fResize窗體的代碼省略,請(qǐng)讀者參考光盤詳細(xì)代碼。25.實(shí)現(xiàn)圖像全景的窗體 在主界面中,通過(guò)菜單“View224。該窗體代碼省略。由于本系統(tǒng)比較龐大,而且有一定的難度,讀者需要配合本書、光盤源代碼以及微軟提供的MSDN幫助,才能夠完全掌握本系統(tǒng)的精華內(nèi)
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1