Datamatrix

Status
Niet open voor verdere reacties.

Sephiku

Nieuwe gebruiker
Lid geworden
25 mrt 2012
Berichten
3
Hallo iedereen,

ik ben student aan de hogeschool in Antwerpen waarin ik de richting elektromechanica studeer.
Ik heb in mijn richting niet veel programmeren gezien in VB.net maar voor mijn bachelorproef moet ik redelijk veel programmeren.
Het is uiteindelijk de bedoeling om met behulp van een camera, een datamatrix in te lezen en deze omzetten in gewone tekst.
Het programma die hiervoor zal zorgen moet ik helemaal zelf schrijven. Aangezien mijn programmeerniveau niet zo hoog ligt kan ik wel een hulpje gebruiken :)
Om te beginnen ga ik een datamatrix generator maken, vervolgens een programma dat een prentje van een datamatrix kan omzetten naar tekst, ten laatste
ga ik een datamatrix uitlezen met behulp van een camera.

Ik heb momenteel een programma geschreven dat mijn gewone tekst omzet in binaire code, maar deze moet nog volgens de juiste schikking in mijn array gestoken worden.
Hierbij is ook mijn vraag, als er te weinig informatie is om de datamatrix volledig te vullen, hoe wordt deze dan opgevuld? Hoe worden de normale ASCII codes van 7-bits omgezet in 8 bits? gewoon +1 aan het einde?
en ik heb geen idee hoe ik eraan moet beginnen om deze waarden in mijn array te steken :(

Alvast bedankt als iemand me kan helpen!

Groetjes Tom
 
Uitleg over arrays kan je hier vinden: http://msdn.microsoft.com/en-us/library/wak0wfyt.aspx

Simpel gezegd is een array een stapel strings/integers/enz... Het declareren van een array gaat makkelijk:
Code:
Dim StrArrayNaam() As String
Dim IntArrayNaam() As Integer

Om er dan vervolgens iets in te stoppen gaat zo:
Code:
StrArrayNaam(0) = "Hallo!"
StrArrayNaam(1) = "Ik"
StrArrayNaam(2) = "ben"
StrArrayNaam(3) = "MartinJM"

IntArrayNaam(0) = 0
IntArrayNaam(1) = 1
IntArrayNaam(2) = 10
IntArrayNaam(3) = 5
En zo kan je maar doorgaan.


Helaas weet ik verder niet echt veel af van 7-bits ASCII en 8-bits, dus daar kan ik je verder niet bij helpen... Ik hoop dat ik je zo wel verder heb geholpen met de arrays.

Succes!:thumb:


*EDIT*
Voor het omgaan met arrays kan je misschien het begin van deze post even bekijken: http://www.helpmij.nl/forum/showthread.php/694115-Cijfers-sorteren-in-VB-net. Daar wordt de array wel iets anders gedeclareerd... Beide manieren kunnen. Het is maar net wat je gewend bent...
 
Laatst bewerkt:
Uitleg over arrays kan je hier vinden: http://msdn.microsoft.com/en-us/library/wak0wfyt.aspx

Simpel gezegd is een array een stapel strings/integers/enz... Het declareren van een array gaat makkelijk:
Code:
Dim StrArrayNaam() As String
Dim IntArrayNaam() As Integer

Om er dan vervolgens iets in te stoppen gaat zo:
Code:
StrArrayNaam(0) = "Hallo!"
StrArrayNaam(1) = "Ik"
StrArrayNaam(2) = "ben"
StrArrayNaam(3) = "MartinJM"

IntArrayNaam(0) = 0
IntArrayNaam(1) = 1
IntArrayNaam(2) = 10
IntArrayNaam(3) = 5
En zo kan je maar doorgaan.


Helaas weet ik verder niet echt veel af van 7-bits ASCII en 8-bits, dus daar kan ik je verder niet bij helpen... Ik hoop dat ik je zo wel verder heb geholpen met de arrays.

Succes!:thumb:


*EDIT*
Voor het omgaan met arrays kan je misschien het begin van deze post even bekijken: http://www.helpmij.nl/forum/showthread.php/694115-Cijfers-sorteren-in-VB-net. Daar wordt de array wel iets anders gedeclareerd... Beide manieren kunnen. Het is maar net wat je gewend bent...

Bedankt voor deze uitleg!
Ik heb mijn tekst omgezet naar ASCII en deze in een array geplaatst dus dat is allemaal gelukt :)
Nu nog uitzoeken hoe de rest moet gebeuren :p
 
Heb je daar verder ook nog specifieke vragen over, of lukt dat wel?
 
Heb je daar verder ook nog specifieke vragen over, of lukt dat wel?

hangt er een beetje vanaf, ik heb nu mijn 1D array waarin mijn bits staan. Dat is in de char vorm.
ik moet die volgens deze manier :

http://www.aipsys.com/dmintro.htm

(Bij low level encoding)

in een 2D array plaatsen, uiteindelijk moeten alle "1" waarden een zwarte rechthoek worden en alle "0" waarden een witte rechthoek in een picturebox.
Ik werk met het patroon van 8 bits waarvan de eerste 2 boven naast elkaar staan, daaronder 2 rijen van 3 kolommen. Dit patroon schuift telkens 45 graden op naar boven en vervolgens naar beneden als hij zijn UBound heeft bereikt.
Maar de gegevens die boven die UBound komen, vinden we dan terug aan de LBound.(voor zowel x als y)
dit heb ik geschreven voor het patroon erin te krijgen:

For i = 0 To data.Length - 1
bin(8 * i) = CChar(CStr(datamatrix(x, y)))
bin(8 * i + 1) = CChar(CStr(datamatrix(x + 1, y)))
bin(8 * i + 2) = CChar(CStr(datamatrix(x, y - 1)))
bin(8 * i + 3) = CChar(CStr(datamatrix(x + 1, y - 1)))
bin(8 * i + 4) = CChar(CStr(datamatrix(x + 2, y - 1)))
bin(8 * i + 5) = CChar(CStr(datamatrix(x, y - 2)))
bin(8 * i + 6) = CChar(CStr(datamatrix(x + 1, y - 2)))
bin(8 * i + 7) = CChar(CStr(datamatrix(x + 2, y - 2)))
Next

maar we beginnen eigenlijk met het 2de woord linksboven dus dat is ook een moeilijkheid, en dan telkens dat naar boven schuiven en naar onder en er rekening mee houden dat die buiten zijn grenzen kan komen.
Heb al wat liggen brainstormen en proberen maar telkens duikt er weer iets nieuw op waar ik geen rekening mee heb gehouden of dat elkaar tegenwerkt :(
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan