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

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

?? classimageprocessing.cls

?? 這是一個立體視覺程序
?? CLS
?? 第 1 頁 / 共 5 頁
字號:
  Dim edgeFound As Boolean
  Dim newedgeFound As Boolean
  Dim pixel As Integer
  Dim val As Byte
  Dim edgePath(30000, 3)
  Dim NoOfEdgePoints As Integer
  Dim i As Integer
  Dim j As Integer
  Dim dx As Single
  Dim dy As Single
  Dim angle As Single
  Dim Dist As Single
  Dim xx As Integer
  Dim yy As Integer
  Dim edgeType As Integer
  Dim intensity As Single
  Dim histMax As Single
  Dim edgeLocated As Boolean
  Dim edgeCount As Integer
  Dim trackLen As Long
  Dim x1 As Single
  Dim y1 As Single
  Dim da As Single
  Dim startEdge As Integer
  Dim max_da As Single
  Dim avAngle As Single
  Dim totAngle As Single
  Dim prevAngle As Single
  Dim angleChange As Single
  Const thresh = 20
  
  For i = 0 To NoOfEdgeAngles - 1
    EdgeHistogram(i) = 0
  Next
  
  For x = 0 To width - 1
    For y = 0 To height - 1
      edgeTraced(x, y) = False
    Next
  Next
  
  noOfEdges = 0
  noOfTracks = 0
  maxEdgeLength = 1
  histMax = 1
  newedgeFound = True
  edgeCount = 0
  While (newedgeFound)
  
    edgeFound = False
    edgeLocated = False
    x = 0
    While (x < width) And (edgeFound = False)
      y = 0
      While (y < height) And (edgeFound = False)
        If (image(x, y) > thresh) And (edgeTraced(x, y) = False) Then
          edgeFound = True
          Else
          y = y + 1
        End If
      Wend
      If (edgeFound = False) Then
        x = x + 1
      End If
    Wend
    newedgeFound = edgeFound
  
    NoOfEdgePoints = 0
    max_da = 0
    x1 = -1
    y1 = -1
    prevAngle = -1
    While (edgeFound)
      edgeTraced(x, y) = True
      pixel = 0
      edgeFound = False
      While (pixel < 24) And (Not edgeFound)
        Select Case pixel
          Case 0
            If (y > 0) Then
              If (image(x, y - 1) > thresh) And (Not edgeTraced(x, y - 1)) Then
                y = y - 1
                edgeFound = True
              End If
            End If
          Case 1
            If (x < width) And (y > 0) Then
              If (image(x + 1, y - 1) > thresh) And (Not edgeTraced(x + 1, y - 1)) Then
                x = x + 1
                y = y - 1
                edgeFound = True
              End If
            End If
          Case 2
            If (x < width) Then
              If (image(x + 1, y) > thresh) And (Not edgeTraced(x + 1, y)) Then
                x = x + 1
                edgeFound = True
              End If
            End If
          Case 3
            If (x < width) And (y < height) Then
              If (image(x + 1, y + 1) > thresh) And (Not edgeTraced(x + 1, y + 1)) Then
                x = x + 1
                y = y + 1
                edgeFound = True
              End If
            End If
          Case 4
            If (y < height) Then
              If (image(x, y + 1) > thresh) And (Not edgeTraced(x, y + 1)) Then
                y = y + 1
                edgeFound = True
              End If
            End If
          Case 5
            If (x > 0) And (y < height) Then
              If (image(x - 1, y + 1) > thresh) And (Not edgeTraced(x - 1, y + 1)) Then
                x = x - 1
                y = y + 1
                edgeFound = True
              End If
            End If
          Case 6
            If (x > 0) Then
              If (image(x - 1, y) > thresh) And (Not edgeTraced(x - 1, y)) Then
                x = x - 1
                edgeFound = True
              End If
            End If
          Case 7
            If (x > 0) And (y > 0) Then
              If (image(x - 1, y - 1) > thresh) And (Not edgeTraced(x - 1, y - 1)) Then
                x = x - 1
                y = y - 1
                edgeFound = True
              End If
            End If
          
          Case 8
            If (y > 1) Then
              If (image(x, y - 2) > thresh) And (Not edgeTraced(x, y - 2)) Then
                y = y - 2
                edgeFound = True
              End If
            End If
          Case 9
            If (y > 1) And (x < width) Then
              If (image(x + 1, y - 2) > thresh) And (Not edgeTraced(x + 1, y - 2)) Then
                x = x + 1
                y = y - 2
                edgeFound = True
              End If
            End If
          Case 10
            If (y > 1) And (x < width - 1) Then
              If (image(x + 2, y - 2) > thresh) And (Not edgeTraced(x + 2, y - 2)) Then
                x = x + 2
                y = y - 2
                edgeFound = True
              End If
            End If
          Case 11
            If (y > 0) And (x < width - 1) Then
              If (image(x + 2, y - 1) > thresh) And (Not edgeTraced(x + 2, y - 1)) Then
                x = x + 2
                y = y - 1
                edgeFound = True
              End If
            End If
          Case 12
            If (x < width - 1) Then
              If (image(x + 2, y) > thresh) And (Not edgeTraced(x + 2, y)) Then
                x = x + 2
                edgeFound = True
              End If
            End If
          Case 13
            If (y < width) And (x < width - 1) Then
              If (image(x + 2, y + 1) > thresh) And (Not edgeTraced(x + 2, y + 1)) Then
                x = x + 2
                y = y + 1
                edgeFound = True
              End If
            End If
          Case 14
            If (y < width - 1) And (x < width - 1) Then
              If (image(x + 2, y + 2) > thresh) And (Not edgeTraced(x + 2, y + 2)) Then
                x = x + 2
                y = y + 2
                edgeFound = True
              End If
            End If
          Case 15
            If (y < width - 1) And (x < width) Then
              If (image(x + 1, y + 2) > thresh) And (Not edgeTraced(x + 1, y + 2)) Then
                x = x + 1
                y = y + 2
                edgeFound = True
              End If
            End If
          Case 16
            If (y < width - 1) Then
              If (image(x, y + 2) > thresh) And (Not edgeTraced(x, y + 2)) Then
                y = y + 2
                edgeFound = True
              End If
            End If
          Case 17
            If (y < width - 1) And (x > 0) Then
              If (image(x - 1, y + 2) > thresh) And (Not edgeTraced(x - 1, y + 2)) Then
                x = x - 1
                y = y + 2
                edgeFound = True
              End If
            End If
          Case 18
            If (y < width - 1) And (x > 1) Then
              If (image(x - 2, y + 2) > thresh) And (Not edgeTraced(x - 2, y + 2)) Then
                x = x - 2
                y = y + 2
                edgeFound = True
              End If
            End If
          Case 19
            If (y < width) And (x > 1) Then
              If (image(x - 2, y + 1) > thresh) And (Not edgeTraced(x - 2, y + 1)) Then
                x = x - 2
                y = y + 1
                edgeFound = True
              End If
            End If
          Case 20
            If (x > 1) Then
              If (image(x - 2, y) > thresh) And (Not edgeTraced(x - 2, y)) Then
                x = x - 2
                edgeFound = True
              End If
            End If
          Case 21
            If (y > 0) And (x > 1) Then
              If (image(x - 2, y - 1) > thresh) And (Not edgeTraced(x - 2, y - 1)) Then
                x = x - 2
                y = y - 1
                edgeFound = True
              End If
            End If
          Case 22
            If (y > 1) And (x > 1) Then
              If (image(x - 2, y - 2) > thresh) And (Not edgeTraced(x - 2, y - 2)) Then
                x = x - 2
                y = y - 2
                edgeFound = True
              End If
            End If
          Case 23
            If (y > 1) And (x > 0) Then
              If (image(x - 1, y - 2) > thresh) And (Not edgeTraced(x - 1, y - 2)) Then
                x = x - 1
                y = y - 2
                edgeFound = True
              End If
            End If
        End Select
        pixel = pixel + 1
      Wend
    
      If (edgeFound) Then
        edgePath(NoOfEdgePoints, EDGE_X) = x
        edgePath(NoOfEdgePoints, EDGE_Y) = y
        edgePath(NoOfEdgePoints, 2) = image(x, y)
        NoOfEdgePoints = NoOfEdgePoints + 1
        edgeTraced(x, y) = True
      End If
    
    Wend
    
    If (NoOfEdgePoints > minEdgeLength) Then
      i = 0
      pixel = 0
      avAngle = 0
      totAngle = 0
      max_da = 0
      TrackDetails(noOfTracks, TRACK_X) = 0
      TrackDetails(noOfTracks, TRACK_Y) = 0
      While (i < NoOfEdgePoints)
        intensity = intensity + edgePath(i, 2)
        If (pixel >= minEdgeLength) Then
        
          'angle from origin
          dx = edgePath(i - pixel, EDGE_X) - edgePath(i, EDGE_X)
          dy = edgePath(i - pixel, EDGE_Y) - edgePath(i, EDGE_Y)
          xx = edgePath(i, EDGE_X) + (dx / 2)
          yy = edgePath(i, EDGE_Y) + (dy / 2)
          Dist = Sqr((dx * dx) + (dy * dy))
          angle = Acos(dy / Dist)
                    
          da = Abs(avAngle - angle)
          If ((da > 0.06) Or (i = NoOfEdgePoints)) And (Dist > minEdgeLength) Then
            edges(noOfEdges, EDGE_X) = xx
            edges(noOfEdges, EDGE_Y) = yy
            edges(noOfEdges, EDGE_X1) = edgePath(i, EDGE_X)
            edges(noOfEdges, EDGE_Y1) = edgePath(i, EDGE_Y)
            edges(noOfEdges, EDGE_X2) = edgePath(i - pixel, EDGE_X)
            edges(noOfEdges, EDGE_Y2) = edgePath(i - pixel, EDGE_Y)
            edges(noOfEdges, EDGE_LENGTH) = Dist
            trackLen = trackLen + edges(noOfEdges, EDGE_LENGTH)
            
            If (prevAngle > -1) Then
              angleChange = (angle - prevAngle) / 3.1415927 * 180
              edges(noOfEdges, EDGE_ANGLECHANGE) = Abs(angleChange)
              Else
              edges(noOfEdges, EDGE_ANGLECHANGE) = 0
            End If
            prevAngle = angle
            
            If (dx < 0) Then
              avAngle = (2 * 3.1415927) - avAngle
            End If
            edges(noOfEdges, EDGE_ANGLE) = avAngle
            If (x1 = -1) Then
              'store the start position of the track
              x1 = edges(noOfEdges, EDGE_X2)
              y1 = edges(noOfEdges, EDGE_Y2)
            End If
                                                
            
'            If (da > max_da) Then
'              max_da = da
'              TrackDetails(noOfTracks, TRACK_X) = edges(noOfEdges, EDGE_X)
'              TrackDetails(noOfTracks, TRACK_Y) = edges(noOfEdges, EDGE_Y)
'            End If
            If (maxEdgeLength < edges(noOfEdges, EDGE_LENGTH)) Then
              maxEdgeLength = edges(noOfEdges, EDGE_LENGTH)
            End If
            edges(noOfEdges, EDGE_PROBABILITY) = Int(intensity / pixel)
            edges(noOfEdges, EDGE_TRACK) = noOfTracks
            edgeType = Int((Abs(edges(noOfEdges, EDGE_ANGLECHANGE)) / 180) * NoOfEdgeAngles)
            EdgeHistogram(edgeType) = EdgeHistogram(edgeType) + edges(noOfEdges, EDGE_LENGTH)
            If (EdgeHistogram(edgeType) > histMax) Then
              histMax = EdgeHistogram(edgeType)
            End If
            intensity = 0
            noOfEdges = noOfEdges + 1
            pixel = 0
            edgeLocated = True
            edgeCount = edgeCount + 1
          End If
          
          If (pixel = minEdgeLength) Then
            avAngle = angle
            totAngle = angle
            Else
            If (pixel > minEdgeLength) Then
              'If (angle < 0) Then
              '  angle = 3.1415927 + angle
              'End If
              
              totAngle = totAngle + angle
              avAngle = (totAngle + angle) / (pixel - minEdgeLength + 1)
            End If
          End If
        
        End If
        pixel = pixel + 1
        i = i + 1
      Wend
    End If

    If (edgeLocated) Then
      TrackDetails(noOfTracks, TRACK_EDGES) = edgeCount
      TrackDetails(noOfTracks, TRACK_START) = noOfEdges - edgeCount
      TrackDetails(noOfTracks, TRACK_LENGTH) = trackLen
      
      'calculate the axis of the track
      dx = edges(noOfEdges - 1, EDGE_X1) - x1
      dy = edges(noOfEdges - 1, EDGE_Y1) - y1
      Dist = Sqr((dx * dx) + (dy * dy))
      angle = Acos(dy / Dist)
      If (dx < 0) Then
        angle = (2 * 3.1415927) - angle
      End If
      TrackDetails(noOfTracks, TRACK_AXIS) = angle
      noOfTracks = noOfTracks + 1
      edgeCount = 0
      prevAngle = -1
      trackLen = 0
      edgeLocated = False
    End If
    
  Wend
  
  Call mergeEdges(mergeEdgesRadius)
  'Call getJunctions(2)
  
  For i = 0 To NoOfEdgeAngles - 1
    EdgeHistogram(i) = EdgeHistogram(i) / histMax
  Next
  
End Sub


Public Function getDistanceBetweenTracks(TrackNo1 As Integer, TrackNo2 As Integer) As Single
'returns the distance between the two tracks relative to the length of the first track
  Dim dx As Single
  Dim dy As Single
  Dim Dist As Single
  
  If (TrackDetails(TrackNo1, TRACK_LENGTH) > 0) Then
    dx = TrackDetails(TrackNo1, TRACK_X) - TrackDetails(TrackNo2, TRACK_X)
    dy = TrackDetails(TrackNo1, TRACK_Y) - TrackDetails(TrackNo2, TRACK_Y)
    Dist = Sqr((dx * dx) + (dy * dy))
    getDistanceBetweenTracks = Dist / TrackDetails(TrackNo1, TRACK_LENGTH)
    Else
    getDistanceBetweenTracks = 0
  End If
End Function


Public Sub getEdgeAttraction(x As Integer, y As Integer, minDistance As Integer, ByRef ax As Single, ByRef ay As Single)
'returns the attraction towards edges at the given point
'ax and ay are always between -1 and +1
  Dim minDist2 As Long
  Dim i As Integer
  Dim Dist As Single
  Dim dx As Single
  Dim dy As Single
  Dim instances As Single
  
  ax = 0
  ay = 0
  instances = 0
  minDist2 = minDistance * minDistance
  For i = 0 To noOfEdges - 1
    dx = edges(i, EDGE_X1) - x
    dy = edges(i, EDGE_Y1) - y
    Dist = (dx * dx) + (dy * dy)
    If (Dist < minDist2) Then
      ax = ax + (1 - (dx / minDistance))
      ay = ay + (1 - (dy / minDistance))
      instances = instances + 1
    End If

    dx = edges(i, EDGE_X2) - x
    dy = edges(i, EDGE_Y2) - y
    Dist = (dx * dx) + (dy * dy)
    If (Dist < minDist2) Then
      ax = ax + (1 - (dx / minDistance))
      ay = ay + (1 - (dy / minDistance))
      instances = instances + 1
    End If
  Next
  If (instances > 0) Then
    ax = ax / instances
    ay = ay / instances
  End If

End Sub


Public Sub getTrackPosition(TrackNo As Integer, Position As Integer, ByRef Value As Single, ByRef x As Single, ByRef y As Single)
  Value = TrackPositions(TrackNo, Position, 0)
  x = TrackPositions(TrackNo, Position, 1)
  y = TrackPositions(TrackNo, Position, 2)
End Sub

Public Function getFeaturePosition(FeatureNo As Integer, Position As Integer) As Single
  getFeaturePosition = FeatureVector(FeatureNo, Position)
End Function

Public Sub getTrackLocation(TrackNo As Integer, ByRef x As Single, ByRef y As Single)
  x = TrackDetails(TrackNo, TRACK_X)
  y = TrackDetails(TrackNo, TRACK_Y)
End Sub

Public Sub getFeatureLocation(FeatureNo As Integer, ByRef x As Single, ByRef y As Single)
  x = edges(FeatureNo, EDGE_X)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费一区二区三区在线观看 | 国产99久久久久久免费看农村| 在线国产亚洲欧美| 亚洲一区二区三区自拍| 91精品啪在线观看国产60岁| 久久精品av麻豆的观看方式| 337p日本欧洲亚洲大胆色噜噜| 国产精品99久久久久久宅男| 亚洲免费在线播放| 日韩欧美中文字幕公布| 东方欧美亚洲色图在线| 亚洲欧美偷拍另类a∨色屁股| 欧美片网站yy| av中文字幕亚洲| 日韩不卡一区二区三区| 中文字幕亚洲综合久久菠萝蜜| 欧美日韩不卡在线| 99精品视频一区| 国产在线不卡一卡二卡三卡四卡| 亚洲欧美视频一区| 国产精品久久久久久久久免费丝袜 | 日本欧美韩国一区三区| 中文字幕在线不卡一区| 精品国产乱码91久久久久久网站| 欧美在线观看18| 成人黄色777网| 国产98色在线|日韩| 国产美女主播视频一区| 秋霞av亚洲一区二区三| 日韩中文字幕一区二区三区| 亚洲精品自拍动漫在线| 国产精品进线69影院| 久久免费视频一区| 精品国产伦一区二区三区观看体验 | 91丨九色丨蝌蚪丨老版| 国产99久久久精品| 97se狠狠狠综合亚洲狠狠| 丁香婷婷综合激情五月色| 成人免费不卡视频| 91蜜桃视频在线| 色爱区综合激月婷婷| 91麻豆精品国产91久久久久| 777午夜精品视频在线播放| 日韩欧美一区二区三区在线| 久久久久久夜精品精品免费| 国产性做久久久久久| 国产精品卡一卡二| 免费成人在线播放| 国产91丝袜在线播放0| 欧美色视频在线观看| 久久综合99re88久久爱| 亚洲一区二区偷拍精品| 国产精品资源在线| 欧美日韩精品高清| 国产精品免费网站在线观看| 亚洲成人激情综合网| 国产福利不卡视频| 日韩西西人体444www| 亚洲精品第1页| 成人精品一区二区三区四区| 91精品麻豆日日躁夜夜躁| 日韩毛片高清在线播放| 国产一区二区主播在线| 777a∨成人精品桃花网| 亚洲综合自拍偷拍| 成人av动漫网站| 国产午夜一区二区三区| 麻豆精品一区二区av白丝在线| 欧美午夜电影一区| 一二三四社区欧美黄| 成人av电影在线| 亚洲日本电影在线| 99久久伊人网影院| 亚洲精品日韩专区silk| 97国产精品videossex| 亚洲美女视频在线| 99精品视频在线免费观看| 国产精品美女久久久久久久久| 国产精品一区在线| 欧美激情一区二区在线| 国产成人精品影视| 亚洲午夜精品久久久久久久久| 欧美中文字幕一区二区三区亚洲| 一区二区三区四区高清精品免费观看| 99亚偷拍自图区亚洲| 亚洲精品中文字幕乱码三区| 欧美日本一区二区在线观看| 蜜臀av性久久久久av蜜臀妖精| 国产日韩欧美精品电影三级在线| 国产成人在线观看| 日韩中文字幕区一区有砖一区 | 国产亚洲欧美日韩在线一区| 成人性色生活片| 一区二区久久久久久| 日韩精品一区二区三区视频 | 欧美成人官网二区| 99精品偷自拍| 精品影院一区二区久久久| 亚洲欧美偷拍另类a∨色屁股| 91精品国产麻豆| 在线视频中文字幕一区二区| 久久精品国产亚洲高清剧情介绍 | 99久久精品国产一区| 久久福利视频一区二区| 亚洲综合网站在线观看| 国产精品久久99| 国产精品视频你懂的| 日韩精品一区在线观看| 欧美色图激情小说| 欧美三级欧美一级| 色婷婷精品久久二区二区蜜臂av| 国产一区二区三区久久久| 亚洲成人www| 亚洲福利电影网| 亚洲一区二区三区精品在线| 亚洲男同性恋视频| 一级女性全黄久久生活片免费| 国产精品久久一卡二卡| 国产精品美日韩| 国产精品欧美久久久久一区二区| 国产婷婷精品av在线| 国产精品久久久久久久久快鸭| 国产亚洲短视频| 亚洲激情综合网| 午夜成人在线视频| 国产老肥熟一区二区三区| 丁香激情综合国产| 欧美性一二三区| 精品国产免费人成在线观看| 中文字幕av资源一区| 1000部国产精品成人观看| 亚洲第一精品在线| 韩国欧美国产一区| 91久久国产最好的精华液| 欧美一级理论片| 成人免费在线观看入口| 人人精品人人爱| 高清av一区二区| 日韩欧美在线观看一区二区三区| 日本一区二区在线不卡| 日本不卡视频在线| 色爱区综合激月婷婷| 中文字幕免费观看一区| 男人操女人的视频在线观看欧美| 国产九色sp调教91| 日韩亚洲欧美一区二区三区| 亚洲一区在线观看视频| thepron国产精品| 国产精品久久久久四虎| 国内精品免费**视频| 宅男噜噜噜66一区二区66| 亚洲一区二区欧美激情| 日本丶国产丶欧美色综合| 中文成人av在线| 成人午夜碰碰视频| 国产日韩精品一区二区三区在线| 日韩国产高清在线| 7777精品伊人久久久大香线蕉的| 一区在线中文字幕| 99在线精品视频| 午夜精品成人在线视频| 欧美二区在线观看| 激情综合色播五月| 日韩免费一区二区三区在线播放| 青草国产精品久久久久久| 日韩欧美一区中文| 丰满少妇在线播放bd日韩电影| 久久久噜噜噜久久人人看 | 蜜臀va亚洲va欧美va天堂 | 精品国产乱码久久久久久图片| 久久精品国产亚洲aⅴ | 欧美成人精品福利| 99麻豆久久久国产精品免费优播| 国产精品人人做人人爽人人添| 97se亚洲国产综合在线| 天天色天天操综合| 欧美极品xxx| 欧美日韩国产小视频在线观看| 国产一区二区视频在线播放| 中文字幕精品一区二区三区精品| 欧美日韩美女一区二区| 国产高清视频一区| 日本不卡视频在线观看| 亚洲天堂中文字幕| 国产无遮挡一区二区三区毛片日本| 99re成人精品视频| 精品一区二区三区免费视频| 亚洲美女淫视频| 国产精品国产三级国产aⅴ原创| 亚洲国产精品成人综合色在线婷婷| 在线播放视频一区| 欧洲精品中文字幕| 99国内精品久久| 99国产精品久久久| 不卡一区二区三区四区| 久久er99精品| 精品一区二区三区在线视频| 视频在线观看91| 麻豆精品久久精品色综合| 婷婷综合久久一区二区三区|