亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? classimageprocessing.cls

?? 這是一個立體視覺程序
?? CLS
?? 第 1 頁 / 共 5 頁
字號:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "classImageProcessing"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

Public width As Integer
Public height As Integer
Dim image() As Byte
Dim edgeTraced() As Boolean

Const NoOfFeatureCategories = 10
Dim FeatureVector(30000, NoOfFeatureCategories) As Single

Public mergeEdgesRadius As Integer

Public noOfEdges As Integer
Dim edges(30000, 12) As Single
Dim TrackDetails(30000, 6) As Single
Public noOfTracks As Integer
Public primaryEdge As Integer
Public minEdgeLength As Integer
Dim maxEdgeLength As Integer
Const NoOfTrackPositions = 10
Dim TrackPositions(30000, NoOfTrackPositions, 3) As Single
Const EDGE_X = 0
Const EDGE_Y = 1
Const EDGE_LENGTH = 2
Const EDGE_ANGLE = 3
Const EDGE_PROBABILITY = 4
Const EDGE_TRACK = 5
Const EDGE_X1 = 6
Const EDGE_Y1 = 7
Const EDGE_X2 = 8
Const EDGE_Y2 = 9
Const EDGE_ARC = 10
Const EDGE_ANGLECHANGE = 11
Const TRACK_EDGES = 0
Const TRACK_START = 1
Const TRACK_LENGTH = 2
Const TRACK_AXIS = 3
Const TRACK_X = 4
Const TRACK_Y = 5

Public processType As Integer

Public EdgeThreshold As Single
Dim averageContrast As Double

Const image_raw = 0
Const image_red = 1
Const image_green = 2
Const image_blue = 3
Const image_edges = 4
Const IMAGE_MOVEMENT = 5


Public scanInterval As Integer


'masks used for edge detection
Public NoOfEdgeAngles As Integer
Dim EdgeHistogram() As Single

'colour histogram levels
Dim Histogram_levels As Integer
Dim ColourHistogram() As Double
Dim Hist() As Double

'snake
Public NoOfSnakePoints As Integer
Dim SnakePoint() As Single
Dim snakeEnergy As Single
Dim elasticity As Single
Dim SnakeStationaryPoints As Integer
Public SnakeComplete As Boolean
Dim prevSnakeStationaryPoints As Integer
Dim snakeStationary As Integer
Const SNAKE_X = 0
Const SNAKE_Y = 1
Const SNAKE_DX = 2
Const SNAKE_DY = 3
Const SNAKE_DIST = 4
Const SNAKE_ANGLE = 5

'blobs
Public NoOfBlobs As Integer
Dim Blob(30000, 4) As Single
Const BLOB_X = 0
Const BLOB_Y = 1
Const BLOB_RADIUS = 2
Const BLOB_PROBABILITY = 3

Public NoOfStereoMatches As Integer
Public StereoPatchSize As Integer
Dim stereoMatch(30000, 8) As Single



Public Sub Snake(NoOfSnakePts As Integer, tx As Integer, ty As Integer, w As Integer, h As Integer)
  Dim i As Integer
  Dim j As Integer
  Dim sidePoints As Integer
  
  NoOfSnakePoints = NoOfSnakePts
  ReDim SnakePoint(NoOfSnakePoints, 6)
  
  'initialise the snake
  sidePoints = NoOfSnakePoints / 4
  For i = 0 To sidePoints
    For j = 0 To 4
      Select Case j
        Case 0
          SnakePoint(i, SNAKE_X) = tx + ((w / sidePoints) * i)
          SnakePoint(i, SNAKE_Y) = ty
        Case 1
          SnakePoint(i + (sidePoints * 1), SNAKE_X) = tx + w
          SnakePoint(i + (sidePoints * 1), SNAKE_Y) = ty + ((h / sidePoints) * i)
        Case 2
          SnakePoint(i + (sidePoints * 2), SNAKE_X) = tx + w - ((w / sidePoints) * i)
          SnakePoint(i + (sidePoints * 2), SNAKE_Y) = ty + h
        Case 3
          SnakePoint(i + (sidePoints * 3), SNAKE_X) = tx
          SnakePoint(i + (sidePoints * 3), SNAKE_Y) = ty + h - ((h / sidePoints) * i)
      End Select
    Next
  Next
    
  snakeEnergy = ((w * 2) + (h * 2)) / NoOfSnakePoints
  'snakeEnergy = 0.1
  elasticity = 0.4
  SnakeComplete = False
  prevSnakeStationaryPoints = 0
  snakeStationary = 0
  
End Sub


Public Sub updateSnake()
  Dim i As Integer
  Dim j As Integer
  Dim dx As Single
  Dim dy As Single
  Dim sidePoints As Integer
  Dim distNext As Single
  Dim distPrevious As Single
  Dim px As Single
  Dim py As Single
  Dim mx As Single
  Dim my As Single
  Dim distBase As Single
  Dim dp As Single
    
  SnakeStationaryPoints = 0
  
  'calculate distances between snake points
  For i = 0 To NoOfSnakePoints - 1
    If (i > 0) Then
      dx = SnakePoint(i, SNAKE_X) - SnakePoint(i - 1, SNAKE_X)
      dy = SnakePoint(i, SNAKE_Y) - SnakePoint(i - 1, SNAKE_Y)
      Else
      dx = SnakePoint(i, SNAKE_X) - SnakePoint(NoOfSnakePoints - 1, SNAKE_X)
      dy = SnakePoint(i, SNAKE_Y) - SnakePoint(NoOfSnakePoints - 1, SNAKE_Y)
    End If
    SnakePoint(i, SNAKE_DX) = dx
    SnakePoint(i, SNAKE_DY) = dy
    SnakePoint(i, SNAKE_DIST) = Sqr((dx * dx) + (dy * dy))
        
    If (SnakePoint(i, SNAKE_DIST) > 0) Then
      SnakePoint(i, SNAKE_ANGLE) = Acos(dy / SnakePoint(i, SNAKE_DIST))
      If (dy < 0) Then
        SnakePoint(i, SNAKE_ANGLE) = (2 * 3.1415927) - SnakePoint(i, SNAKE_ANGLE)
      End If
      Else
      SnakePoint(i, SNAKE_ANGLE) = 0
    End If
     
  Next
   
  For i = 0 To NoOfSnakePoints - 1
  
    If (i < NoOfSnakePoints - 1) Then
      distNext = SnakePoint(i + 1, SNAKE_DIST)
      If (i > 1) Then
        dx = SnakePoint(i + 1, SNAKE_X) - SnakePoint(i - 1, SNAKE_X)
        dy = SnakePoint(i + 1, SNAKE_Y) - SnakePoint(i - 1, SNAKE_Y)
        j = i + 1
        Else
        dx = SnakePoint(i + 1, SNAKE_X) - SnakePoint(NoOfSnakePoints - 1, SNAKE_X)
        dy = SnakePoint(i + 1, SNAKE_Y) - SnakePoint(NoOfSnakePoints - 1, SNAKE_Y)
        j = i + 1
      End If
      Else
      dx = SnakePoint(0, SNAKE_X) - SnakePoint(i - 1, SNAKE_X)
      dy = SnakePoint(0, SNAKE_Y) - SnakePoint(i - 1, SNAKE_Y)
      distNext = SnakePoint(0, SNAKE_DIST)
      j = 0
    End If
    distBase = Sqr((dx * dx) + (dy * dy))
    distPrevious = SnakePoint(i, SNAKE_DIST)
    
    dp = (distPrevious - snakeEnergy) * 0.5
    distPrevious = distPrevious - dp
    distNext = distNext + dp
    mx = SnakePoint(j, SNAKE_X) - (dx * (distPrevious / distNext))
    my = SnakePoint(j, SNAKE_Y) - (dy * (distPrevious / distNext))
    
    dx = ((SnakePoint(i, SNAKE_X) - mx) * elasticity) + ((Rnd - 0.5) * 1)
    dy = ((SnakePoint(i, SNAKE_Y) - my) * elasticity) + ((Rnd - 0.5) * 1)
      
    If (dx > 1) Then
      dx = 1
    End If
    If (dy > 1) Then
      dy = 1
    End If
    If (dx < -1) Then
      dx = -1
    End If
    If (dy < -1) Then
      dy = -1
    End If
    px = SnakePoint(i, SNAKE_X) - dx
    py = SnakePoint(i, SNAKE_Y) - dy
    If (px >= 0) And (px < width) And (py >= 0) And (py < height) Then
      If (image(px, py) = 0) Then
        SnakePoint(i, SNAKE_X) = px
        SnakePoint(i, SNAKE_Y) = py
        Else
        SnakeStationaryPoints = SnakeStationaryPoints + 1
      End If
    End If
  Next
    
  If (snakeEnergy > 0.1) Then
    snakeEnergy = snakeEnergy * 0.99
  End If
  
  If (prevSnakeStationaryPoints = SnakeStationaryPoints) Then
    snakeStationary = snakeStationary + 1
    Else
    snakeStationary = 0
  End If
  If ((SnakeStationaryPoints / NoOfSnakePoints) > 0.2) And (snakeStationary > 2) Then
    SnakeComplete = True
  End If
  prevSnakeStationaryPoints = SnakeStationaryPoints
  
End Sub





Public Sub stereoEigenImage(LeftImage As classImageProcessing, RightImage As classImageProcessing, Threshold As Integer)
'calculates the difference between two stereo images
  Dim x As Integer
  Dim y As Integer
  Dim p1 As Integer
  Dim p2 As Integer
  Dim p As Integer
  
  For x = 0 To width - 1
    For y = 0 To height - 1
      p1 = LeftImage.getPoint(x, y)
      p2 = RightImage.getPoint(x, y)
      p = (p1 + p2) / 2
      If (Abs(p - p1) > Threshold) Then
        image(x, y) = 255 - p
        Else
        image(x, y) = 0
      End If
    Next
  Next

End Sub



Public Sub stereoCompare(otherImage As classImageProcessing, patchsize As Integer, SmoothnessThreshold As Single, matchThreshold As Single, searchHorizontal As Integer, searchVertical As Integer)
'compares this image with another image to find stereo matches
'images must be of the same size
  Dim x As Integer
  Dim y As Integer
  Dim xx As Integer
  Dim yy As Integer
  Dim eDist As Single
  Dim dp As Single
  Dim diff As Single
  Dim patchPixels As Single
  Dim featurePoint() As Boolean
  Dim a As Integer
  Dim b As Integer
  Dim featuresX As Integer
  Dim featuresY As Integer
  Dim px As Integer
  Dim py As Integer
  Dim minDist As Single
  Dim matchFound As Boolean
  Dim p1 As Integer
  Dim p2 As Integer
  Dim i As Integer
  Dim dx As Integer
  Dim dy As Integer
  
  featuresX = Int(width / patchsize)
  featuresY = Int(height / patchsize)
  ReDim featurePoint(featuresX, featuresY)
  
  StereoPatchSize = patchsize
  patchPixels = patchsize * patchsize
  
  'look for suitable feature points
  a = 0
  For x = 0 To width - 1 Step patchsize
    b = 0
    For y = 0 To height - 1 Step patchsize
      
      diff = 0
      For xx = x + 1 To x + patchsize - 1
        For yy = y To y + patchsize - 1
          p1 = image(xx, yy)
          p2 = image(xx - 1, yy)
          dp = (p1 - p2) / 255
          diff = diff + (dp * dp)
        Next
      Next
      diff = diff / patchPixels
      
      If (diff > SmoothnessThreshold) Then
        featurePoint(a, b) = True
      End If
      b = b + 1
    Next
    a = a + 1
  Next
  
  'match the feature points in the other image
  NoOfStereoMatches = 0
  a = 0
  For x = 0 To width - 1 Step patchsize
    b = 0
    For y = 0 To height - 1 Step patchsize
      If (featurePoint(a, b)) Then
        
        stereoMatch(NoOfStereoMatches, 0) = x
        stereoMatch(NoOfStereoMatches, 1) = y
        
        matchFound = False
        minDist = matchThreshold
        For xx = x - searchHorizontal To x + searchHorizontal
          If (xx > 0) And (xx < width - patchsize) Then
            For yy = y - searchVertical To y + searchVertical
              If (yy > 0) And (yy < height - patchsize) Then
                
                eDist = 0
                For px = xx To xx + patchsize - 1
                  For py = yy To yy + patchsize - 1
                    p1 = image(px - xx + x, py - yy + y)
                    p2 = otherImage.getPoint(px, py)
                    dp = (p1 - p2) / 255
                    eDist = eDist + (dp * dp)
                  Next
                Next
                eDist = eDist / patchPixels
                If (eDist < minDist) And (Not ((px = x) And (py = y))) Then
                  minDist = eDist
                  stereoMatch(NoOfStereoMatches, 2) = px
                  stereoMatch(NoOfStereoMatches, 3) = py
                  stereoMatch(NoOfStereoMatches, 4) = eDist
                  matchFound = True
                End If
                
              End If
            Next
          End If
        Next
        
        If (matchFound) Then
          NoOfStereoMatches = NoOfStereoMatches + 1
        End If
        
      End If
      b = b + 1
    Next
    a = a + 1
  Next
  
  'calculate positions and distances
  For i = 0 To NoOfStereoMatches - 1
    dx = stereoMatch(i, 2) - stereoMatch(i, 0)
    dy = stereoMatch(i, 3) - stereoMatch(i, 1)
    stereoMatch(i, 5) = stereoMatch(i, 0) + (dx / 2)
    stereoMatch(i, 6) = stereoMatch(i, 1) + (dy / 2)
    
    'calculate a normalised distance between 0 and 1
    'stereoMatch(i, 7) = 1 - (Sqr((dx * dx) + (dy * dy)) / width)
    stereoMatch(i, 7) = 1 - (Abs(dx) / width)
  Next
  
End Sub




Public Sub Diffuse(diffuseConstant As Single, diffuseSteps As Integer)
  Dim x As Integer
  Dim y As Integer
  Dim i As Integer
  Dim index As Integer
  Dim diffValue() As Single
  Dim Value As Single
  Dim dv As Single
  Dim max As Single
  
  ReDim diffValue(width, height, 2)
  For x = 0 To width - 1
    For y = 0 To height - 1
      diffValue(x, y, 0) = image(x, y)
    Next
  Next
  
  index = 1
  max = 1
  For i = 1 To diffuseSteps
    For x = 1 To width - 2
      For y = 1 To height - 2
        Value = diffValue(x, y + 1, 1 - index) + diffValue(x + 1, y + 1, 1 - index) + diffValue(x + 1, y, 1 - index) + diffValue(x + 1, y - 1, 1 - index)
        Value = Value + diffValue(x, y - 1, 1 - index) + diffValue(x - 1, y - 1, 1 - index) + diffValue(x - 1, y, 1 - index) + diffValue(x - 1, y + 1, 1 - index)
        dv = (Value / 8) - diffValue(x, y, 1 - index)
        diffValue(x, y, index) = diffValue(x, y, 1 - index) + (diffuseConstant * dv)
        If (diffValue(x, y, index) < 0) Then
          diffValue(x, y, index) = 0
        End If
        If (diffValue(x, y, index) > 255) Then
          diffValue(x, y, index) = 255
        End If
        If (i = diffuseSteps) Then
          If (diffValue(x, y, index) > max) Then
            max = diffValue(x, y, index)
          End If
        End If
      Next
    Next
        
    If (i = diffuseSteps) Then
      For x = 1 To width - 2
        For y = 1 To height - 2
          image(x, y) = CByte(diffValue(x, y, index) / max * 255)
        Next
      Next
    End If
    
    If (index = 1) Then
      index = 0
      Else
      index = 1
    End If
  Next
  
  
  
End Sub


Public Sub getEdges()
  Dim x As Integer
  Dim y As Integer

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
岛国一区二区在线观看| 欧美成人免费网站| 日韩免费观看高清完整版在线观看| 久久久久亚洲蜜桃| 手机精品视频在线观看| 一本大道久久a久久综合| 国产午夜亚洲精品理论片色戒| 一区二区三区国产豹纹内裤在线 | 国产成人自拍网| 欧美精品高清视频| 亚洲激情图片qvod| 99久久夜色精品国产网站| 久久影音资源网| 韩国女主播一区| 欧美一卡二卡在线| 亚洲国产乱码最新视频 | 26uuu国产一区二区三区| 视频一区在线视频| 国产成人丝袜美腿| 久久久久综合网| 黑人精品欧美一区二区蜜桃| 91精品久久久久久蜜臀| 性做久久久久久久免费看| 色先锋资源久久综合| 国产精品国产三级国产aⅴ中文 | 玖玖九九国产精品| 欧美久久久影院| 日本不卡一区二区三区高清视频| 欧美亚洲国产一区在线观看网站| 樱桃国产成人精品视频| 在线精品视频免费播放| 一区二区三区丝袜| 欧美色网一区二区| 青青草国产成人99久久| 91精品一区二区三区在线观看| 日韩综合小视频| 日韩精品一区二区三区中文不卡| 久久国产视频网| 久久免费美女视频| 成人高清在线视频| 一区二区三区美女视频| 欧美日韩精品电影| 激情综合一区二区三区| 欧美国产一区在线| 日本精品裸体写真集在线观看| 亚洲一级在线观看| 日韩一级二级三级精品视频| 久久激五月天综合精品| 国产日韩影视精品| 97久久精品人人爽人人爽蜜臀| 亚洲欧洲中文日韩久久av乱码| 欧美中文字幕一区二区三区亚洲 | 夜夜亚洲天天久久| 7878成人国产在线观看| 黄页视频在线91| 国产精品入口麻豆九色| 在线观看欧美日本| 麻豆精品一二三| 亚洲国产精品黑人久久久| 色狠狠色噜噜噜综合网| 免费xxxx性欧美18vr| 国产精品嫩草久久久久| 欧美视频在线观看一区| 国产一区二区三区久久悠悠色av| 国产精品区一区二区三区| 在线一区二区三区做爰视频网站| 天堂在线一区二区| 中文字幕免费不卡在线| 欧美日精品一区视频| 国产成人8x视频一区二区| 亚洲成a人v欧美综合天堂| 国产亚洲午夜高清国产拍精品 | 亚洲第一激情av| 久久蜜臀精品av| 欧美精品在线一区二区三区| 高清在线成人网| 午夜精品福利视频网站| 国产精品久久久久久久午夜片 | 欧美日韩不卡一区二区| 成人性生交大片免费看视频在线 | 日韩国产欧美在线视频| 国产精品网曝门| 欧美大片一区二区三区| 欧美亚洲另类激情小说| 99久久伊人精品| 国产激情视频一区二区在线观看 | 亚洲h在线观看| 亚洲免费在线视频一区 二区| 日韩欧美激情一区| 欧美欧美欧美欧美首页| 91亚洲永久精品| 成人美女视频在线看| 精品一区二区三区日韩| 亚洲综合成人在线视频| 综合婷婷亚洲小说| 国产精品第五页| 国产午夜亚洲精品理论片色戒| 欧美一区二区视频免费观看| 欧美性猛交xxxx乱大交退制版| 成人精品亚洲人成在线| 国产成人精品一区二区三区四区 | 在线观看视频一区二区| 91小视频在线| 91视视频在线直接观看在线看网页在线看| 美女免费视频一区二区| 老司机精品视频一区二区三区| 午夜精品久久一牛影视| 亚洲 欧美综合在线网络| 亚洲一二三四在线观看| 亚洲午夜激情av| 亚洲国产精品嫩草影院| 亚洲第一福利视频在线| 天堂在线一区二区| 久色婷婷小香蕉久久| 精品一区免费av| 国产精品一区一区三区| 国产伦精一区二区三区| 国产成人综合自拍| 99精品在线免费| 91成人免费电影| 欧美一级片在线| 久久伊人中文字幕| 国产亚洲人成网站| 中文字幕亚洲成人| 成人免费一区二区三区在线观看 | 中文字幕+乱码+中文字幕一区| 欧美激情综合五月色丁香小说| 欧美国产日本视频| 亚洲男女一区二区三区| 亚洲成人综合在线| 久久国产视频网| 成人免费视频一区| 在线精品视频小说1| 欧美电影免费观看高清完整版在线 | 成人国产在线观看| 91精品福利视频| 欧美一激情一区二区三区| 久久久久久免费| 亚洲色图欧洲色图婷婷| 日韩精品一卡二卡三卡四卡无卡| 狠狠v欧美v日韩v亚洲ⅴ| 成人av综合在线| 欧美一区日本一区韩国一区| 精品精品欲导航| 4hu四虎永久在线影院成人| 久久―日本道色综合久久| 一区二区三区日韩| 韩国三级电影一区二区| 91激情五月电影| 精品成人在线观看| 亚洲一区二区影院| 国产成人午夜精品影院观看视频 | 亚洲成人一二三| 国模少妇一区二区三区| 色综合一个色综合亚洲| 精品国产成人系列| 亚洲国产色一区| 成人动漫av在线| 欧美一区二区三区视频在线| 国产精品久久久久影院色老大| 亚洲大片免费看| 97超碰欧美中文字幕| 精品国产免费人成在线观看| 亚洲在线免费播放| 成人网在线播放| 欧美va亚洲va国产综合| 亚洲亚洲精品在线观看| av一区二区三区在线| 精品国产免费一区二区三区香蕉| 亚洲一区二区三区自拍| 成人免费毛片片v| 精品人在线二区三区| 日韩经典一区二区| 在线日韩一区二区| 亚洲三级电影网站| 国产不卡在线播放| 久久色在线观看| 日本欧洲一区二区| 欧美色图在线观看| 伊人一区二区三区| 99久精品国产| 中文字幕在线观看一区| 国产精品一区二区在线看| 日韩精品一区二| 麻豆精品在线播放| 91精品久久久久久久久99蜜臂| 亚洲午夜精品在线| 欧美日韩综合色| 亚洲va韩国va欧美va精品| 欧美亚洲国产一区在线观看网站| 亚洲人成电影网站色mp4| 成人深夜视频在线观看| 国产精品色一区二区三区| 国产很黄免费观看久久| 欧美激情一区二区三区四区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 成人激情视频网站| 国产精品国产三级国产a| 91麻豆.com| 亚洲成在人线在线播放|