Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: Relbmessa am 16. April 2012, 20:04
-
Hallo,
ich kämpfe gerade mit einer Webcam. (SN9C202+OV9650)
Bei der Enumeration komme ich aber nur bis zum setzen Set_Address. :-P :?
Hat vielleicht einer eine Specification oä. für den SN9C202.
Die Specification SN9C201 ist leider nur ähnlich, und mein suchen war bisher
leider erfolglos.
Schon Dank im voraus für Deine (Eure) Aufmerksamkeit.
Gruß
Relbmessa
-
Hallo,
um unnötiges schreiben zu vermeiden (ich habe noch den Beitrag vom 16 April im Gedächtnis)
hier erst mal den Zwischenstand.
Enumeration und Initialisierung der Bridge und des OV9650 werden erfolgreich durchgeführt.
Sollte jemand Interesse haben , können wir gern in Erfahrungsaustausch treten.
Und hier meine Frage:
Über Bulk-Transfer erhalte ich auch Chip-Daten vom OV.
Dunkel: Hell: (Heller ging nicht)
FFFF00C4 --Header dt.
C496CC00
10211010
21109224
92
------------- ENDE Header ------------- ENDE Header
------------- DATEN(RGB eingestellt) ------------- DATEN (RGB->Reg 0x12,0x44)
000000 10AC10
--usw. ED10ED10
0000 F411 3511
------------- DATEN -ENDE 3510 F411
0203 3511 3501
00010003 8A00 0000
------------- gesamt bulk 64 Byte 0000 0000
2000 0000
0000 0000
0000 0000
0000
--------------ENDE DATEN
0203
0001 0003 FENSTER grösse
-------------gesamt bulk 64 Byte
Wie kann man jetzt im Prinzip Bilddaten erzeugen.????? ->zB .ppm
So-> die Diskussion ist eröffnet und ich bitte um Teilnahme!!
Gruß
Relbmessa
-
-ECONTEXT
Du beziehst dich eindeutig auf einen anderen Thread - schreib doch da rein? :-)
-
Sorry Svenska,
welchen Thread meinst Du?
Gibt es vielleicht einen Leitfaden den man beachten muß ?????
Gruß
Relbmessa
-
Nö, Leitfaden gibt's nicht. :-)
Ich meinte den Thread vom 16. April, den du erwähnt hast. Der war von dir, zum gleichen Thema und weder lang noch zugespammt. Also hättest du keinen neuen Thread aufmachen müssen, das meinte ich.
Andere sehen das vermutlich anders, darum nur meine 2ct,
Svenska
-
Ich habe ehrlich gesagt keine Ahnung, um was es hier geht, kann mich an keinen alten Thread erinnern, und habe auch keine Lust, ihn zu suchen.
-
Danke für die rege Anteilnahme 8-)
leider bin ich aber immer noch nicht weiter. :-(
Also ,wer kann helfen?
Gruß
Relbmessa
-
Ich glaube, wir wollten beide darauf hinweisen, dass uns Information fehlt, um irgendwas zum Thema sagen zu können. Ich weiß nicht, was ein SN9C202 ist, ich weiß nicht, was ein OV9650 ist, und wo es dazu Doku gibt, die man für dich lesen könnte, weiß ich erst recht nicht. ;)
-
Also,
SN9C202+OV9650 ist eine Webcam.
Der SN ist die Bridge (USB-Interface) und verbindet den OV9650 CMOS Camerachip mit der Aussenwelt.
Das Problem sind wie immer die Unterlagen-> es gibt kaum welche.
Mittlerweile habe ich einiges zusammengetragen!
Wenn man mir sagt wie, kann ich sie gern zur Verfügung stellen, den es ist mehr als 128kB
Wie gefragt ,ist mein Problem die Camera Daten (RAW->Rohdaten bzw. RGB) in Bilddaten zu konvertieren.
Die Bilddaten von einer Colormatrix gebildet und ich hole sie über Bulk-tranfer. (Daten->zB. siehe oben)
-
Ah, okay, das hilft schonmal, grob einzuordnen, was du vorhast. Ist das ein proprietäres Protokoll oder was im Rahmen von USB standardisiertes?
Aber egal, verstehe ich das richtig, dass das Auslesen an sich schon klappt und du nur nicht weißt, wie du die ausgelesenen Daten zu interpretieren hast?
-
Stimmt,
Ich habe Camera-bilddaten und erst mal keine richtige Idee wie die Strucktur aufgebaut ist.
Und ja, leider proprietär!!
;----------------------------------------------------------------------------------------------------------------------------------
OmniVision Digital Signal Processor (DSP)
5.2 Color Matrix
The color matrix is used to eliminate the cross talk induced by the micro-lens and color filter
process. It also compensates for lighting and temperature effects. It also can be implemented for
hue, color saturation, color space conversion from RGB to YUV or RGB to YCbCr.
5.2.1 Color Matrix Control
OV9650 has a 3x3 color matrix circuit inside. This color matrix performs the color correction and the
RGB to YUV/YCbCr conversion. Also, because of the Matrix linear algebra characteristic, it can also
do color gain and hue control as shown below:
[YUV] = [Gain Matrix] × [Hue Matrix] × [RGB to YUV/YCbCr Matrix] × [Color correction] × [RGB]
[YUV] = [Combined Matrix] [RGB]
Table 5-2. Color Matrix Related Registers and Parameters
Name Register Address
MTX1 MTX1 0x4F
MTX2 MTX2 0x50
MTX3 0x51
MTX3
MTX4 MTX4 0x52
MTX5 MTX5 0x53
MTX6 MTX6 0x54
MTX7 MTX7 0x55
MTX8 MTX8 0x56
MTX9 MTX9 0x57
SIGN MTXS[7:0] for MTX9 through MTX2, respectively 0x58
SIGN HV[0] for MTX1 0x69
COM13[4]
ENABLE 0x3D
0: Disable Matrix
1: Enable Matrix
COM16[1]
DOUBLER 0x41
0: Directly use Matrix
1: Double Matrix
Version 1.1, December 7, 2004 27
Proprietary to OmniVision Technologies
;---------------------------------------------------------------------------------------------------------------------
Gruß
Relbmessa
-
@taljeth: der thread vom 16.4. hat einen beitrag und heißt fast identisch.
@relbmessa: hättest ihn ja verlinken können...
das datenblatt sieht so aus, dass du enabled auf 0 setzen und dann die rohdaten (rgb) auslesen kannst. notfalls guck in den linux/bsd-treiber. wenn es kein rgb ist, dann sind es vielleicht die sensorrohdaten, z.B. bei folgendem sensor
G R
B G
d.h. einzelne subpixel. aus je 32 bit baust du dann 1 pixel zusammen, mit 2x grün, die du mitteln musst. der sensor kann auch anders aufgebaut sein, aber so müsste ein üblicher typ sein.
für raw kameradaten gibt es aber fertige opensource-libs, die z.B. von digikam benutzt werden.
gruß,
svenska
-
Hallo Svenska,
danke für die Anwort.
Keine Ahnung wie verlinken geht, war schon ärgerlich als die Textformartierung nicht stimmte.
Aber egal.
Welches enable meinst du? -> Register vom OV ?
In den Unterlagen Steht bei RAW RGB Bayer Filter Color.-> Bayer Mosaic Filter ?
Die angebotenen Rohdaten sind dann wohl eher 16 Bit Video-Port 10 Bit.
Deine kleine Darstellung für das Pixel hat aber meinen Blickwinkel verändert. :-D
Ich muß erst mal kramen lumis (R G B) suchen und dann ein paar Experimente machen
Hier noch eine Camera Antwort. Eingestellt ist RAW RGB
FFFF00C4
C496CC00
10211010
21109224
923C703C
703C703D
343D343D
343D343D
343D3405
00490000
00000E00
0001BB01
BB01BB01
BB01BB01
BB000202
00010003
Ich tippe mal darauf dass der untere Bereich IR-Sensor sein könnte
-
@taljeth: der thread vom 16.4. hat einen beitrag und heißt fast identisch.
Ich war mal so frei, die Threads zusammenzulegen.
-
Danke :-P
Relbmessa