A.eye

  • 32 Replies
  • 3666 Views
*

yotamarker

  • Trusty Member
  • ********
  • Replicant
  • *
  • 596
    • battle programming
A.eye
« on: July 10, 2016, 05:30:43 pm »
this thread is about artificial eyes for A.I what is needed and related stuff

starting :

ocr
motion detection
object recognition
object counter
color scheme getter
*face recog
grid recognition and defining

what else ?

*

ivan.moony

  • Trusty Member
  • *********
  • Terminator
  • *
  • 802
  • Can computers cry?
    • Structured Type System
Re: A.eye
« Reply #1 on: July 10, 2016, 05:49:44 pm »
Maybe 3D -> 2D mapping for understanding object positions on planes?

Why is grid recognition so important?

I still wonder what is the difference between beautiful art and unattractive trash...
If you vaporize a teardrop, you get a salt.   :flake:

*

yotamarker

  • Trusty Member
  • ********
  • Replicant
  • *
  • 596
    • battle programming
Re: A.eye
« Reply #2 on: July 10, 2016, 06:08:01 pm »
how to go about distinguishing 2d or 3d ???

grids spread out and they can't be recognized like other objects also
humans seem to instinctively use them for storing data for game boards for tiling and flooring

*

yotamarker

  • Trusty Member
  • ********
  • Replicant
  • *
  • 596
    • battle programming
Re: A.eye
« Reply #3 on: July 10, 2016, 06:12:15 pm »

I still wonder what is the difference between beautiful art and unattractive trash...

think about a women who hit the wall she would have too much data that would make her
inconsistent therefore her visual data would not repeat enough to be desired as a goal
like wrinkles flabby arms cellulite and grey hair.

*

keghn

  • Trusty Member
  • ********
  • Replicant
  • *
  • 695
Re: A.eye
« Reply #4 on: July 10, 2016, 06:35:53 pm »
@yotamarker
What you are interested in is computer vision.
OpenCV software is the king in this area of computer science:

http://docs.opencv.org/2.4/doc/tutorials/tutorials.html

 Tho it is not big on C#. It is mostly in c++, python, and java.

*

yotamarker

  • Trusty Member
  • ********
  • Replicant
  • *
  • 596
    • battle programming
Re: A.eye
« Reply #5 on: July 10, 2016, 06:59:48 pm »
wouldn't it be better to develop a new A.eye
that way full access to manipulate and read the data

object size estimation also

*

ivan.moony

  • Trusty Member
  • *********
  • Terminator
  • *
  • 802
  • Can computers cry?
    • Structured Type System
Re: A.eye
« Reply #6 on: July 10, 2016, 07:31:04 pm »
grids spread out and they can't be recognized like other objects also
humans seem to instinctively use them for storing data for game boards for tiling and flooring

I think it is about repeating patterns. A row is a repeated cell. A table is repeated row.
If you vaporize a teardrop, you get a salt.   :flake:

*

yotamarker

  • Trusty Member
  • ********
  • Replicant
  • *
  • 596
    • battle programming
Re: A.eye
« Reply #7 on: July 10, 2016, 07:53:48 pm »
here is the thing you get a picture a bitmap
you get the outline dotes

you break it down to minipics of the objects dot clusters in lighty soroundings

the grid doesn't break at some area it is spread and ya gotta difine it

*

keghn

  • Trusty Member
  • ********
  • Replicant
  • *
  • 695
Re: A.eye
« Reply #8 on: July 10, 2016, 08:16:59 pm »

*

yotamarker

  • Trusty Member
  • ********
  • Replicant
  • *
  • 596
    • battle programming
Re: A.eye
« Reply #9 on: July 10, 2016, 08:53:33 pm »
come to think of it maybe should also take out obstacle objects like dust
and unrelated lines, how would you do that ?
at first idea I'd see them as different light level than the objects contour and outlines

*

keghn

  • Trusty Member
  • ********
  • Replicant
  • *
  • 695
Re: A.eye
« Reply #10 on: July 10, 2016, 10:20:38 pm »
gaussian algorithm to blur out the fine details.

subtract the gaussian image form the original image will give just the fine detail image:)

*

yotamarker

  • Trusty Member
  • ********
  • Replicant
  • *
  • 596
    • battle programming
Re: A.eye
« Reply #11 on: July 11, 2016, 03:21:46 pm »
this looks like the code
Code: [Select]
Public Shared Sub GaussianImageDemo()

    Dim fileName As String = "c:/Sample.png"

    Dim reImage As REImage = REFile.OpenImageFile(fileName)

    Dim newImage As REImage = ImageProcessing.ApplyBlurGaussian(reImage)

    REFile.SaveImageFile(newImage, "c:/reimage.png", New PNGEncoder())
does someone have a noob friendly explanation as to how that algorithm  (Gaussian blur)works logic wize ?

*

ivan.moony

  • Trusty Member
  • *********
  • Terminator
  • *
  • 802
  • Can computers cry?
    • Structured Type System
Re: A.eye
« Reply #12 on: July 11, 2016, 04:48:52 pm »
If you ask me how I would program blur, I'd take every pixel, calculate the median value of pixels near taken one and store the median in the position of the taken pixel.

Gaussian Blur? That has something to do with Gaussian bell curve, right?
If you vaporize a teardrop, you get a salt.   :flake:

*

yotamarker

  • Trusty Member
  • ********
  • Replicant
  • *
  • 596
    • battle programming
Re: A.eye
« Reply #13 on: July 11, 2016, 05:11:32 pm »
this worls for small pics but it is way too slow
Code: [Select]
Public Class Form1
    Private Function Average(ByVal Size As Size, ByVal imageSize As SizeF, _
           ByVal PixelX As Integer, ByVal Pixely As Integer) As Color


        Dim pixels As New ArrayList
        Dim x As Integer, y As Integer
        Dim bmp As Bitmap = PictureBox1.Image.Clone


        ' Find the color for each pixel and add it to a new array.
        '
        ' Remember a 5X5 area on or near the edge will ask
        ' for pixels that don't
        ' exist in our image, this will filter those out.
        '
        For x = PixelX - CInt(Size.Width / 2) To PixelX + _
               CInt(Size.Width / 2)
            For y = Pixely - CInt(Size.Height / 2) To Pixely + _
                   CInt(Size.Height / 2)
                If (x > 0 And x < imageSize.Width) And _
                   (y > 0 And y < imageSize.Height) Then
                    pixels.Add(bmp.GetPixel(x, y))
                End If
            Next
        Next

        ' Adverage the A, R, G, B channels
        ' reflected in the array

        Dim thisColor As Color
        Dim alpha As Integer = 0
        Dim red As Integer = 0
        Dim green As Integer = 0
        Dim blue As Integer = 0

        For Each thisColor In pixels
            alpha += thisColor.A
            red += thisColor.R
            green += thisColor.G
            blue += thisColor.B
        Next

        ' Return the sum of the colors / the number of colors (The average)
        '
        Return Color.FromArgb(alpha / pixels.Count, _
                              red / pixels.Count, _
                              green / pixels.Count, _
                              blue / pixels.Count)
    End Function


    Private Sub gausianBlur(ByVal alphaEdgesOnly As Boolean, _
                            ByVal blurSize As Size)

        Dim PixelY As Integer
        Dim PixelX As Integer
        Dim bmp As Bitmap = PictureBox1.Image.Clone

        ' UI Stuff
        Label1.Text = "Applying Gausian Blur of " & blurSize.ToString

        Progress.Maximum = bmp.Height * bmp.Width
        Progress.Minimum = 0
        Progress.Value = 0

        ' Loop the rows of the image
        For PixelY = 0 To bmp.Width - 1

            ' Loop the cols of the image
            For PixelX = 0 To bmp.Height - 1
                If Not alphaEdgesOnly Then     ' Blur everything
                    bmp.SetPixel(PixelX, PixelY, Average(blurSize, _
                                 bmp.PhysicalDimension, PixelX, PixelY))
                ElseIf bmp.GetPixel(PixelX, PixelY).A _
                       <> 255 Then  ' Alpha blur channel check
                    bmp.SetPixel(PixelX, PixelY, Average(blurSize, _
                                 bmp.PhysicalDimension, PixelX, PixelY))
                End If
                Progress.Value += 1
                Application.DoEvents()
            Next
        Next

        PictureBox1.Image = bmp.Clone
        bmp.Dispose()
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        gausianBlur(False, New Size(6, 6))
    End Sub
End Class

*

yotamarker

  • Trusty Member
  • ********
  • Replicant
  • *
  • 596
    • battle programming
Re: A.eye
« Reply #14 on: July 11, 2016, 05:20:08 pm »
it just make the image fuzzy

 


Users Online

35 Guests, 1 User
Users active in past 15 minutes:
ranch vermin
[Starship Trooper]

Most Online Today: 48. Most Online Ever: 208 (August 27, 2008, 09:36:30 am)

Articles