Avatar billede nameless Nybegynder
21. april 2003 - 14:37 Der er 7 kommentarer og
1 løsning

Billedredigering

Hvis man har et stort billede i en format man selv vælger. Hvordan kan man så lave sådan man søger i billedet ? Sådan fx. at den finder det sted hvor der er en kasse med 6*6 røde pixels, og angiver positionen??
Avatar billede ladze Nybegynder
21. april 2003 - 15:58 #1
Det kommer an på hvad program du har..?

Jeg skulle mene at Paint Shop Pro kan gøre det.
Avatar billede kantoraza Nybegynder
21. april 2003 - 16:03 #2
Det er svært lige at forstå hvad du mener. Men hvis det du mener, er, at du vil analysere hvert pixel i et billede i en picturebox og finder specielle forskelle (fx en rød kasse), så kan det gøres sådan her:

Opret en picturebox og sæt et billede derind i. Herefter sætter du billedets "autoredraw = true" og skriver denne kode i "form_activate":

Private Sub Form_Activate()
Dim Søg

Søg = 0 ' som er sort

Picture1.BackColor = Søg

Me.Show

    For x = 0 To Picture1.ScaleWidth Step 10
        For y = 0 To Picture1.ScaleHeight Step 10
            If Picture1.Point(x, y) = Søg Then
                ' Farven er fundet, nu tegner dette
                ' program bare gule farver istedet for.
                    Picture1.PSet (x, y), RGB(255, 255, 0)
            End If
        Next
    DoEvents
    Next
End Sub

Håber det kunne hjælpe - ellers formulér dit spørgsmål igen.

Mvh. Rasmus
Avatar billede kantoraza Nybegynder
21. april 2003 - 16:04 #3
Ja - billedbehandlingsprogrammer som fx Photoshop kan gøre det samme selvfølgelig, men skulle det ikke virke i Visual Basic?
Avatar billede nameless Nybegynder
21. april 2003 - 16:37 #4
jeg formulere det lige igen..
Jeg har et billede i en picturebox med navnet StortBillede på måske 1000*1000pixels

Så har jeg en anden picturebox med navnet SøgBillede på lad os sige 50*50 pixels

Så vil jeg se om SøgBillede passer ind nogle steder i StortBillede.. Altså om et felt et eller andet sted i StorBillede på 50*50 er magen til SøgBillede og så angiv positionen på hvor det er.
Avatar billede codemasterz Nybegynder
21. april 2003 - 19:31 #5
Kigger lige med :)
Avatar billede kantoraza Nybegynder
21. april 2003 - 21:08 #6
Nu forstår jeg - tror jeg.

Opret to pictureboxe og ændre ikke på navnene.
Sæt det samme billede ind i hver - måske med små ændringer
Opret en knap og skriv dette:


Private Sub Command1_Click()
    MousePointer = 11
   
    For x = 0 To Picture1.ScaleWidth Step 10
    For y = 0 To Picture1.ScaleHeight Step 10
        If Picture1.Point(x, y) = Picture2.Point(x, y) Then
            ' Så er de ens og bliver farvel gule
                Picture1.PSet (x, y), RGB(255, 255, 0)
        End If
    Next
        DoEvents
    Next
   
    MousePointer = 1
End Sub


Den tegner gult, hvis de er ens.

Held og lykke - håber det hjalp.
Avatar billede nameless Nybegynder
21. april 2003 - 22:59 #7
Det virker jo kun hvis billederne har samme størrelse.. hvis nu jeg har et billede på 50*50 og skal lede et 1000*1000 billede igennem for at se om der er en nøjagtig kopi af det et eller andet sted hvordan gør jeg så det ?

Forestil dig at vi har et detaljeret damnarkskort.. hvis så man klippede Aalborg ud og satte det ind i et billede for sig og søgte efter det. Så skulle programmet vise positionen på det store kort hvor kortet er magen til.
Avatar billede nameless Nybegynder
27. april 2003 - 02:04 #8
Ingen svar. Nå anyway har selv lavet en midlertidig løsning men hvis i får en ginial ide så skriv. ( kan altid åbne spørgsmålet igen)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester