|
Well, to be honest, the data will arrive from one CMOS camera with JPEG encoder:
http://www.sparkfun.com/commerce/product_info.php?products_id=7906
I don’t have this working for know (because I’m waiting for this component), but I was figuring out how I would receive the data. They say that:
“The Parallel Video Interface (PVI) generates the video output of the TC5747. The interface consists of a vertical frame-start signal and a 10-bit parallel data bus with clock and qualify signals. It supports parallel and serial modes of operation. The PVI produces a clock signal (the CLK_OUT pin), a 10-bit data bus, DOUT[9 ] and qualifying signals that are synchronous to that clock. On each determining edge of CLK_OUT, a single data byte is transferred on the data bus, if qualified by the VALIDH signal. The DOUT[9 ] bus carries either the Bayer grid data, the YUV 4:2:2 output data, the RGB data (RGB565, RGB666 or RGB444) or JPEG code according to the TCIF_OUTPUT_FORMAT host command.”
So it seems that RGB data come at 10-bit parallel … however, I still don’t understand the difference between RGB data and JPEG data.
|
|
|
|
|
Hi,
sounds quite different already. This is how I understand it:
you buy/get a camera (or is it just a CMOS chip, or possibly a chip+lens ?), it has
a "PVI" interface (which I never heard of). And it will provide an image in JPEG format.
The good thing is:
JPEG is a file format for storing compressed images. If you have a JPEG file
(typically the extension is .jpg or .jpe or .jpeg) then you can simply obtain the
image using: Bitmap bm=Image.FromFile(filepath); or Image.FromStream(stream);
Hence you are not involved in individual pixels, in RGB, and all the gory details.
The bad thing is: your PC does not speak PVI, does it ?
Googling "Parallel Video Interface" only gives about 600 hits; you may want to read some,
but my first impression is PVI is not an official standard, so you may not be able
to buy an interface board that plugs into your desktop PC, or a box that converts PVI
to something more familiar that is available on your desktop or notebook.
So you better ask whoever offers the camera to also offer the PC interface, including
both the hardware board or box AND the driver to work with it; it should offer an API,
which probably will be an unmanaged API, so you would then need a wrapper that
applies P/Invoke to it, before you can use it in .NET
I think you can safely forget Bitmap.SetPixel() for now, and should start solving
your interface problem first.
Luc Pattyn [Forum Guidelines] [My Articles]
this weeks tips:
- make Visual display line numbers: Tools/Options/TextEditor/AllLanguages/General
- show exceptions with ToString() to see all information
- before you ask a question here, search CodeProject, then Google
|
|
|
|
|
I think the product he's talking of is the CMOS camera hardware, designed to work in an embedded device with a microcontroller (i.e. mobile phone camera)
He should check out the SparkFun forums, they and quite good and someone may have already worked out his solution.
I have no blog...
|
|
|
|
|
Exactly
I will use a PIC (microcontroller) to send CMOS camera data trough Ethernet (TCP/IP Protocol) in order to see captured images. Since they guarantee that this camera send image with RGB values or JPEG data, I would like to know in advance if anyone know what’s the difference between them.
Anyway, what happens if I choose to build an image with RGB values? Is there any suggestion to speed the process? (Remember that this time I receive 10 RGB values at one time).
Best regards and thank you so much for your precious patient
Iuri Figueiredo :->
|
|
|
|
|
hi,
help me...
in my Asp project, there is 80 RadioButton in the
Default.aspx page.
I want to set the All text of RadioButton from My DataBase.
I select a Data table from My DataBase with 80 rows.
But I don`t Want to set Text with this format :
RadioButton1.Text = dt.Rows[0][0];
RadioButton2.Text = dt.Rows[0][1];
.
.
.
RadioButton80 .Text = dt.Rows[0][80];
I want to Use this codes :
RadioButton rb;
for(int i=1 ; i < 81 ; i++)
{
rb = (RadioButton)this.FindControl("RadioButton" + i );
rb.Text= dt.Rows[0][i].ToString();
}
But there is error with Details : Object reference not set to an instance of an object.
why???
please help me to find correct way.
|
|
|
|
|
There is no reason to start a new thread; did you read my earlier reply and try it ?
Luc Pattyn [Forum Guidelines] [My Articles]
this weeks tips:
- make Visual display line numbers: Tools/Options/TextEditor/AllLanguages/General
- show exceptions with ToString() to see all information
- before you ask a question here, search CodeProject, then Google
|
|
|
|
|
hi,
help me...
in my Asp project, there is 80 RadioButton in the
Default.aspx page.
I want to set the All text of RadioButton from My DataBase.
I select a Data table from My DataBase with 80 rows.
But I don`t Want to set Text with this format :
RadioButton1.Text = dt.Rows[0][0];
RadioButton2.Text = dt.Rows[0][1];
.
.
.
RadioButton80 .Text = dt.Rows[0][0];
I want to Use this codes :
RadioButton rb;
for(int i=1 ; i < 81 ; i++)
{
rb = (RadioButton)this.FindControl("RadioButton" + i );
rb.Text= dt.Rows[0][i].ToString();
}
But there is error with Details : Object reference not set to an instance of an object.
why???
please help me to find correct way.
|
|
|
|
|
pariisa wrote: rb.Text= dt.Rows[0][i].ToString();
i-1
please read and apply my sig !
Luc Pattyn [Forum Guidelines] [My Articles]
this weeks tips:
- make Visual display line numbers: Tools/Options/TextEditor/AllLanguages/General
- show exceptions with ToString() to see all information
- before you ask a question here, search CodeProject, then Google
|
|
|
|
|
I have a label with some text showing the version number of the program on my start up screen. On the start up screen there is an image which the version number is on top of, my problem is when I select transparent as my BackColor it shows up as a gray box. Any help?
|
|
|
|
|
Make the image as BackgroundImage of your form then set the label BackColor to Transparent
Good Luck
|
|
|
|
|
Controls as not transparent to other controls behind them. What you're really telling the Label control is to take on the properties of the background of the form that's hosting the Label control.
In other words, the Label control uses the background settings of the Form it's on. Transparent is NOT really transparent.
|
|
|
|
|
MicealG wrote: would this cause the error I'm getting?
Yes
|
|
|
|
|
my stupidity! After those 2 responders noted my mixture of c++/c#...
heres' the actual c++ code:
This was written in c++ language... I am wondering is there a way to change that into c#?
example code:
int linecounter = 4;
unsigned char parity = 0; // cksum variable
byte short checksum = 0; // cksum variable
static long RecordTime; // cksum variable
unsigned char beef[256];
RecordTime = time(NULL);
beef[0x0] = RecordTime / (256 * 256 * 256);
beef[0x1] = RecordTime / (256 * 256);
beef[0x2] = RecordTime / 256;
beef[0x3] = RecordTime % 256;
beef[0x4] = linecounter % 256;
for (int i = 0; i < 256; i++)
{
checksum += beef[i];
parity ^= beef[i];
}
beef[0x5] = parity;
beef[0x6] = checksum / 256;
beef[0x7] = checksum % 256;
-- modified at 15:06 Monday 6th August, 2007
|
|
|
|
|
Hi,
there would be no problem doing the same in C# if it were a valid and correct C program.
the function time_t time( time_t *timer ); returns current time in seconds;
DateTime.Now can provide that.
there are several problems in the "original" code though:
1. byte is not a keyword in C
2. I would prefer beef to be unsigned since it represents parts of a bigger number
3. the for loop goes to 256, that makes no sense
4. checksum/256 will always be zero; checksum should have been unsigned short.
5. strictly speaking the assignments to beef[] need a cast since it is a downcast
good luck !!
Luc Pattyn [Forum Guidelines] [My Articles]
this weeks tips:
- make Visual display line numbers: Tools/Options/TextEditor/AllLanguages/General
- show exceptions with ToString() to see all information
- before you ask a question here, search CodeProject, then Google
|
|
|
|
|
it seems your code is the mixture C#+ buddy.
maybe this going to help
class Program
{
static int RecordTime;
static int time(object obj)
{
return Environment.TickCount;
}
static void Main(string[] args)
{
int linecounter = 4;
byte parity = 0;
byte checksum = 0;
byte[] beef = new byte[8];
RecordTime = time(null);
beef[0x0] = (byte)(RecordTime / (256 * 256 * 256));
beef[0x1] = (byte)(RecordTime / (256 * 256));
beef[0x2] = (byte)(RecordTime / 256);
beef[0x3] = (byte)(RecordTime % 256);
beef[0x4] = (byte)(linecounter % 256);
for (int i = 0; i < 256; i++)
{
checksum += beef[i%8];
parity ^= beef[i%8];
}
beef[0x5] = parity;
beef[0x6] = (byte)(checksum / 256);
beef[0x7] = (byte)(checksum % 256);
}
}
and your code don't work in both c# and C++ because the lines I commented
|
|
|
|
|
Please don't change the original post completely. Now you have screwed up the timeline of the thread...
The code is still not correct C++ code. There is no "byte short" data type in C++.
The code that you have posted doesn't even make sense. You calculate the checksum and parity on data that you don't even put in the array. Then you overwrite elements in the array, which renders the checksum and parity totally useless, as the data that was used to calculate them doesn't exist any more.
---
single minded; short sighted; long gone;
|
|
|
|
|
I gotta remove this post from the discussion... lots of confusion going on here with this post... I will repost later for more clarification.
So how do I remove this post?
|
|
|
|
|
Please don't remove the post, it will most likely screw up the forum. There's a bug in the forum that makes it show the replies to removed posts mixed up with other threads.
Just make an addition to the text of the original post where you explain the situation.
---
single minded; short sighted; long gone;
|
|
|
|
|
I may have to end up creating a class library for this checksum/parity function as it is written in C language.
|
|
|
|
|
Why? If it's anything like the code that you posted, it can easily be rewritten in C#.
---
single minded; short sighted; long gone;
|
|
|
|
|
I've got it...
I can change this time(NULL) in c language into c#...
in C:
time(NULL)
in C#:
DateTime d1 = new DateTime(1970, 1, 1);
DateTime d2 = DateTime.Now;
TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
int recordTime = Convert.ToInt32(ts.TotalSeconds);
|
|
|
|
|
Hi all!,
I want to ask if exist a free tool for skinning and if yuo can give me some link, for tool i mean:
-Example Code
-Skin
-Skin Editor
Thanks and Bye...
Bye
|
|
|
|
|
What is it that you want to skin???
|
|
|
|
|
|
oh THAT...
sorry, NO idea whatsoever...
|
|
|
|