11-29-2006 01:58 PM
11-30-2006 10:45 AM
11-30-2006 10:59 AM
11-30-2006 11:05 AM
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
11-30-2006 08:44 PM
12-01-2006 10:16 AM
Really? You've got me curious now. Maybe I'm assuming something wrong -- here's the procedure I thought you were aiming for:
1. Load a jpg-format image file into LabVIEW somehow. Now you've got an image or a 2D array of pixel values or something.
2. Manipulate some LSB's of some of the pixels to embed text information in a way that isn't visually obvious in the image itself when viewed as an image.
3. Save the manipulated image to a jpg-format file.
4. Someone else opens that new manipulated image file.
5. They go through the reverse manipulations and recover the text you embedded.
My understanding was that the lossy nature of jpg encoding in step #3 above would prevent the scheme from working because the bits you had in step #2 won't be the same as the bits someone gets in step #4. What did I figure wrong here?
-Kevin P.
12-01-2006 02:32 PM
heres how it went kevin
i loaded an image. the image data is a cluster. by using unbundle by name i can separate it to components. the rgb info on the data is located in "image" in the unbundle. send this to a decimate...extracting 3 values. these three values are the rg and b components of the image. the rest is as i mentioned above. take either r,g or b value (doesnt matter which color you encode the data to) do a string to byte array. send through an empty for loop with the string length wired to the count...making the loop run as many times as the number of characters ur embedding. the result is sent to replace array subset (with index 0) and then interleaved with the remaining 2 channels to form back the composite rgb...send back to a bundle by name with the characteristics coming from the original image data. draw flattened pixmap and output (this displayed pic with encoded data...no difference!!). extraction is a reverse process but inside the forloop place index array with index zero. loop count once again wired to original string length. output from the for loop goes to a byte to string and string indicator! let me know if it works for you
dee.
12-01-2006 02:34 PM
ahh i see what ur sayin. i misread ur question. this all happens inside 1 vi. so im not really writing the encoded image to a jpeg file and sending it and letting it extracted on another machine...this is all inside 1 vi. so what you say might hold. interesting. i never thought about that before.
dee.