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

正文內(nèi)容

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

2025-07-02 12:36本頁(yè)面
  

【正文】 , 0, , ByVal (, , ), aData(1), DIB_ RGB_COLORS) End If 39。—載入調(diào)色板 If ( = 8) Then 39。創(chuàng)建DIB lhDC = CreateCompatibleDC(0) If (lhDC 0) Then lhOldBmp = SelectObject(lhDC, ) 39。如果圖像不為空 If (GetObjectType(Picture) = OBJ_BITMAP) Then 39。39。通常在創(chuàng)建一個(gè)新的位圖、或者對(duì)一個(gè)圖像進(jìn)行旋轉(zhuǎn)、鏡像等處理時(shí),都需要?jiǎng)?chuàng)建DIB位圖?!O(shè)置背景顏色 Call SetRect(tRect, 0, 0, NewWidth, NewHeight) hBrush = CreateSolidBrush(BackColor) Call FillRect(m_hDC, tRect, hBrush) Call DeleteObject(hBrush) Else Call End If End If 39?!?jiǎng)?chuàng)建DIB m_hDIB = CreateDIBSection(m_hDC, m_tBIH, DIB_RGB_COLORS,m_lpBits,0, 0) If (m_hDIB 0) Then 39。—?jiǎng)?chuàng)建位圖頭 With m_tBIH .biSize = Len(m_tBIH) .biPlanes = 1 .biBitCount = 32 .biWidth = NewWidth .biHeight = NewHeight .biSizeImage = (4 * NewWidth) * NewHeight End With 39。 (1)Create函數(shù),該函數(shù)創(chuàng)建一個(gè)位圖空間;Public Function Create(ByVal NewWidth As Long, ByVal NewHeight As Long, Optional ByVal BackColor As Long = vbBlack) As Boolean Dim tRect As RECT2 Dim hBrush As Long 39。在該類中利用了大量的API函數(shù),在編程原理中已經(jīng)有介紹,這里就不再介紹了。 39。1.fMain窗體首先要來(lái)學(xué)習(xí)系統(tǒng)的主窗體的核心代碼。 實(shí)例實(shí)現(xiàn)本系統(tǒng)功能比較強(qiáng)大,因此包含了大量的文件,下面列出一些重點(diǎn)的文件:(1),該文件為系統(tǒng)的主界面,由菜單和工具欄組成 ;(2),該文件為圖像打印設(shè)置窗體;(3),該文件為圖像材質(zhì)編輯窗體;(4),該文件為圖像縮放設(shè)置窗體;(6),該文件為圖像屬性顯示窗體;(7),該文件為放大圖形時(shí),快速查看目標(biāo)圖像的窗體;(8),該文件用于對(duì)文件進(jìn)行旋轉(zhuǎn)設(shè)置、以及進(jìn)行水平和垂直鏡像;(9),該文件用于查看圖像應(yīng)用各種濾鏡后的效果;(10),該文件為打開(kāi)圖片時(shí)進(jìn)行圖片預(yù)覽;(11),該文件為類模塊,用于進(jìn)行圖像的基本操作;(12),該文件為類模塊,用于對(duì)圖像顏色進(jìn)行各種操作;(13),該文件為類模塊,用于對(duì)圖像進(jìn)行各種濾鏡操作;(14),該文件為類模塊,用于對(duì)圖像的模板進(jìn)行處理; (15),該文件為類模塊,用于對(duì)將當(dāng)前的圖像保存成其他文件格式;(16),該文件為類模塊,用于操作內(nèi)存中的圖像數(shù)據(jù);(17),該文件為基本模塊,用于進(jìn)行系統(tǒng)的各種設(shè)置;(18),該文件為基本模塊,用于對(duì)鼠標(biāo)的滾輪進(jìn)行處理;(19),該文件為基本模塊,用于對(duì)文件進(jìn)行處理;(20),該文件為基本模塊,用于讀寫INI文件;(21),該文件為基本模塊,用于進(jìn)行HSL、RGB等顏色的轉(zhuǎn)換;(22),該文件為基本模塊,用于聲明各種GDI函數(shù)和變量;(23),該文件為基本模塊,用于創(chuàng)建打開(kāi)圖像文件對(duì)話框,并且能夠進(jìn)行圖像預(yù)覽;(24),該文件為基本模塊,用于選擇圖像中的文件;(25),該文件為基本模塊,用于選擇文件夾;(26),該文件為自定義控件,用于作為圖像的畫布;(27),該文件為自定義控件,用于顯示圖像處理的各種信息;(28),該文件為自定義控件,用于顯示圖像處理的進(jìn)度;(29),該文件為自定義控件,用于顯示系統(tǒng)的工具欄。要注意的是,我們處理的雖然是二值圖,但實(shí)際上是256級(jí)灰度圖,不過(guò)只用到了0和255兩種顏色。常用的LOG算子是5*5的模板,即。③ 高斯拉普拉斯算子由于噪聲點(diǎn)(灰度與周圍點(diǎn)相差很大的點(diǎn))對(duì)邊沿檢測(cè)有一定的影響,所以效果更好的邊沿檢測(cè)器是高斯拉普拉斯(LOG)算子。Sobel算子另一種形式是Isotropic Sobel算子,也有兩個(gè),一個(gè)是檢測(cè)水平邊沿的即,一個(gè)是檢測(cè)豎直平邊沿的即。有兩個(gè),一個(gè)是檢測(cè)水平邊沿的即,一個(gè)是檢測(cè)垂直平邊沿的即。常用的邊緣檢測(cè)算子有如下幾種。梯度是有方向的,和邊沿的方向總是正交(垂直)的,例如,對(duì)于圖像的轉(zhuǎn)置圖像,邊是水平方向的,可以用梯度是垂直方向的模板 檢測(cè)它的邊沿。在灰度相近的區(qū)域內(nèi),這么做的結(jié)果使得該點(diǎn)的灰度值接近于0,而在邊界附近,灰度值有明顯的跳變,這么做的結(jié)果使得該點(diǎn)的灰度值很大,這樣就出現(xiàn)了上面的結(jié)果。(14)邊緣檢測(cè)我們給出一個(gè)模板和一幅圖像,進(jìn)行模板操作后的結(jié)果如下:不難發(fā)現(xiàn)原圖中左邊暗,右邊亮,中間存在著一條明顯的邊界,第三四列比其他列的灰度值高很多,人眼觀察時(shí),就能發(fā)現(xiàn)一條很明顯的亮邊,其他區(qū)域都很暗,這樣就起到了邊沿檢測(cè)的目的。它的原理很簡(jiǎn)單:假設(shè)有一條與原點(diǎn)距離為s,方向角為θ的一條直線,如圖1612所示。下面的實(shí)例是用33的窗口進(jìn)行中值濾波,讀者也可以自己設(shè)置窗口大小。把一個(gè)點(diǎn)的特定長(zhǎng)度或形狀的鄰域稱作窗口,在一維的時(shí)候,中值濾波器是一個(gè)奇數(shù)個(gè)像素的滑動(dòng)窗口,窗口正中間的值用窗口內(nèi)各個(gè)像素的中值代替。一般的鄰域有四點(diǎn)鄰域和八點(diǎn)鄰域,八點(diǎn)鄰域效果要好于四點(diǎn)鄰域,和銳化一樣,采用模板來(lái)編制程序。鄰域平均法是一種在空間域上對(duì)圖像進(jìn)行平滑處理的最常用方法。圖像平滑亦分為空間域處理和頻譜域處理兩種。因此這種消除圖像的噪聲及滿足彩色復(fù)制特殊需要的方法,在圖像處理中稱為圖像平滑。要求得正確的圖像信息則必須消除噪聲。銳化的常用模板如下: , , (11)圖像平滑在輸入圖像的過(guò)程中,圖像可能存在各種寄生效應(yīng),如可能受到各種噪聲源的干擾,混入各種高頻噪聲。卷積是實(shí)現(xiàn)銳化的一個(gè)很好的變通。由于常常無(wú)法事先確定輪廓的取向,因而挑選用于輪廓增強(qiáng)的微分算子時(shí),必須選擇那些不具備空間方向性的和具有旋轉(zhuǎn)不變的線性微分算子。微分運(yùn)算可用來(lái)求信號(hào)的變化率,因而具有加強(qiáng)高頻分量的作用。在圖像中,邊緣是由灰度級(jí)和相鄰域點(diǎn)不同的像素點(diǎn)構(gòu)成的。因此要消除模糊,必須增強(qiáng)圖像中頻率高的空間頻率成分,即圖像的銳化(或細(xì)微層次強(qiáng)調(diào))。當(dāng)H在[00,1200]時(shí):當(dāng)H在[1200,2400]時(shí): 當(dāng)H在[2400,3600]之間時(shí):(10)圖像銳化在圖像系統(tǒng)中由于攝影系統(tǒng)的聚焦不良和信號(hào)傳輸系統(tǒng)信號(hào)頻帶過(guò)窄,造成圖像中目標(biāo)輪廓的模糊是必然的。(8)圖像波浪效果與圖像的扭曲類似,在處理此類問(wèn)題的時(shí)候一般用反向求取法,即假如對(duì)一幅經(jīng)過(guò)波浪處理過(guò)的圖像上的一個(gè)像素點(diǎn)Pixels[i, j],通過(guò)坐標(biāo)的反變換,我們可以求出這個(gè)點(diǎn)所對(duì)應(yīng)的是原始位圖上的哪一個(gè)點(diǎn),求出原始圖上該點(diǎn)的坐標(biāo),例如波浪處理過(guò)的圖像上的一點(diǎn)為Pixels[XSrc,YSrc],而經(jīng)過(guò)坐標(biāo)反變換后得到對(duì)應(yīng)的點(diǎn)為Pixels[i,j],則只需Pixels[i, j]=Pixels[XSrc,YSrc],就實(shí)現(xiàn)像素點(diǎn)的顏色賦值。為了得到更美觀的鏡像顯示效果,具體操作時(shí)不能先顯示一幅正常圖像,然后再顯示反面圖像,而需要兩個(gè)圖像時(shí)從交叉點(diǎn)向外顯示,這樣將形成特殊的屏幕效果。反變換公式如下:此時(shí)的旋轉(zhuǎn)的中心點(diǎn)在圖像的原點(diǎn),也就是客戶區(qū)坐標(biāo)的左上角,如果要求旋轉(zhuǎn)的中心點(diǎn)為圖像的中心,則反變換公式修改如下:其中icenter和jcenter分別是旋轉(zhuǎn)前圖像的寬度和高度的一半,此時(shí)在內(nèi)存中動(dòng)態(tài)創(chuàng)建兩個(gè)位圖對(duì)象TempBmp和NewBmp,一個(gè)用于存放旋轉(zhuǎn)前的位圖(TempBmp),另一個(gè)則是存放旋轉(zhuǎn)后的位圖(NewBmp),位圖格式為24位真彩色。也就是通過(guò)平移后的像素點(diǎn)的位置返回去求出原始點(diǎn)的像素位置,這樣就存在一個(gè)問(wèn)題:如果新圖中有一點(diǎn)(x1,y1),如果變化得到的(x0,y0)不在原圖中則把該點(diǎn)的RGB值統(tǒng)一設(shè)成白色(255,255,255),平移后的圖像沒(méi)有縮放,移出的部分被截?cái)唷:茱@然,該點(diǎn)是原圖中的某一點(diǎn)經(jīng)過(guò)平移后得到的,這兩點(diǎn)的顏色肯定是一樣的,所以只要知道了原圖那點(diǎn)的RGB值即可。(4)圖像平移初始坐標(biāo)為(x0,y0)的點(diǎn)經(jīng)過(guò)平移(tx,ty)(以向右,向下為正方向)后,坐標(biāo)變?yōu)椋▁1,y1)。適當(dāng)?shù)剡M(jìn)行一些明暗調(diào)整,會(huì)讓整個(gè)圖像顯得更加自然。在一幅灰階圖像上,信號(hào)的差異是通過(guò)灰度(或亮度)的明暗來(lái)體現(xiàn)的,高對(duì)比度意思是圖像上兩個(gè)不同觀察點(diǎn)一個(gè)非常暗,另一個(gè)非常亮,而低對(duì)比度表示兩點(diǎn)的相對(duì)亮度差別較小,當(dāng)在提高對(duì)比度時(shí),圖像中的暗色調(diào)變得更暗,亮色區(qū)域變得更亮,而人眼在辯認(rèn)一件事物時(shí),更多地是從色彩的差錯(cuò)對(duì)比中得出結(jié)論,因此更大的對(duì)比度會(huì)帶來(lái)更為醒目的效果。一般采用88的分塊大小的動(dòng)態(tài)閾值二值化方法能取得的效果最佳。其中動(dòng)態(tài)閾值法是一個(gè)變換方法,即在一個(gè)nn的子塊中,所有具有灰度級(jí)超過(guò)平均灰度值到255數(shù)據(jù)點(diǎn)變換1(即黑色),而另一些低于平均灰度值的數(shù)據(jù)點(diǎn)則變換到1(即白色)。因此,在對(duì)灰度圖像進(jìn)行二值化的過(guò)程中,如果選用全局閾值法顯然是不合適的。不同的灰度圖像,其灰度深度是存在差異的。閾值的選擇主要可以分為兩類:全局閾值和局部閾值。實(shí)際的位圖(Bitmap)中,0對(duì)應(yīng)于YUV和RGB之間有著如下的對(duì)應(yīng)關(guān)系: 利用上式,可以求出:Y=+0587G+根據(jù)R,G,B的值求出Y值后,將R,G,B值都賦值成Y,就能表示出灰度圖來(lái),這就是24位真彩色圖轉(zhuǎn)灰度圖的原理。方法二:求出每一個(gè)像素點(diǎn)R、G、B三個(gè)分量的最大值,然后把這個(gè)最大值賦給原來(lái)像素點(diǎn)的R、G、B三個(gè)分量。3.常用圖像處理原理本系統(tǒng)實(shí)現(xiàn)了很多的圖像處理的功能,但是每種圖像處理都有一定的理論基礎(chǔ),下面介紹一些常用的圖像處理的原理。它對(duì)類或私有設(shè)備場(chǎng)景無(wú)效Private Declare Function ReleaseDC Lib user32 (ByVal hWnd As Long, ByVal hDC As Long) As Long(21)OpenClipboard函數(shù)打開(kāi)剪貼板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對(duì)象,比如畫筆、刷子、字體、位圖、區(qū)域以及調(diào)色板等等。對(duì)于VB窗體和控件,倘若在API繪圖過(guò)程中使用這個(gè)函數(shù),建議恢復(fù)原來(lái)的StretchBlt模式。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ù)的伸縮模式。這個(gè)函數(shù)會(huì)在設(shè)備場(chǎng)景中定義一個(gè)目標(biāo)矩形,并在位圖中定義一個(gè)源圖像。Private Declare Function BitBlt Lib gdi32 (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nW
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1