Watermarking libraries?

Hi,

Are there any libraries for ruby that do invisible watermarking on
images ? If not, does anyone know of a good C library that could be
ported to ruby.
thanks,
  -Daniel

Daniel Cremer wrote:

Hi,

Are there any libraries for ruby that do invisible watermarking on
images ? If not, does anyone know of a good C library that could be
ported to ruby.
thanks,
-Daniel

RMagick (http://rmagick.rubyforge.org) includes a `stegano' method, which
can be used to embed a watermark in an image. It's uses are quite limited,
however. Only lossless RGB format images, such as PNG images, can be
watermarked. The stegano method does not work with GIF (pseudocolor), or
JPEG (lossy) images. Once watermarked, the image cannot be edited in any
way or the watermark will be destroyed.

AFAIK, "industrial strength" steganography, such as that offered by
Digimark, is expensive and commonly uses patented techniques.

Thank you. Yes my problem is that I would like to use it on JPEGs. The
most important for me is not to have things encrypted or resist editing
but to just have an ID and a tiny amount of meta-data encoded into the
actual jpeg so that it can identified even if the filename changes.

···

On Sat, 2004-09-18 at 19:24, Tim Hunter wrote:

Daniel Cremer wrote:

> Hi,
>
> Are there any libraries for ruby that do invisible watermarking on
> images ? If not, does anyone know of a good C library that could be
> ported to ruby.
> thanks,
> -Daniel

RMagick (http://rmagick.rubyforge.org) includes a `stegano' method, which
can be used to embed a watermark in an image. It's uses are quite limited,
however. Only lossless RGB format images, such as PNG images, can be
watermarked. The stegano method does not work with GIF (pseudocolor), or
JPEG (lossy) images. Once watermarked, the image cannot be edited in any
way or the watermark will be destroyed.

AFAIK, "industrial strength" steganography, such as that offered by
Digimark, is expensive and commonly uses patented techniques.

Daniel Cremer wrote:

Thank you. Yes my problem is that I would like to use it on JPEGs. The
most important for me is not to have things encrypted or resist editing
but to just have an ID and a tiny amount of meta-data encoded into the
actual jpeg so that it can identified even if the filename changes.

Is this helpful?
http://www.funducode.com/freec/Fileformats/format3/format3b.htm

I only looked at it fairly quick, but it appears to be possible to read in a file, insert an 8BIM header with some metadata, update the the SOI info (or something along those lines), and write the file back out.

The tedious part is grabbing the correct segments.

Extracting IPTC header information from JPEG images - CodeProject describes doing this.
The sample code is a win32 CPP project, but the file IPTC.cpp seems to have the the important stuff. Porting to Ruby might be fairly simple.

bugmenot.com will get you a log-in for the site, or you can register for the site .

James

Great! this does look do-able, I was hoping there might be something
like this to do but was a bit clueless and some documents discussing
hardcore steganography are a bit scary.
thanks,

Daniel

···

On Sat, 2004-09-18 at 20:22, James Britt wrote:

Daniel Cremer wrote:

> Thank you. Yes my problem is that I would like to use it on JPEGs. The
> most important for me is not to have things encrypted or resist editing
> but to just have an ID and a tiny amount of meta-data encoded into the
> actual jpeg so that it can identified even if the filename changes.

Is this helpful?
Funducode Residential Pest Control & Commercial Pest Control Services

I only looked at it fairly quick, but it appears to be possible to read
in a file, insert an 8BIM header with some metadata, update the the SOI
info (or something along those lines), and write the file back out.

The tedious part is grabbing the correct segments.

Extracting IPTC header information from JPEG images - CodeProject describes doing this.
The sample code is a win32 CPP project, but the file IPTC.cpp seems to
have the the important stuff. Porting to Ruby might be fairly simple.

Daniel Cremer wrote:

The tedious part is grabbing the correct segments.

Extracting IPTC header information from JPEG images - CodeProject describes doing this.
The sample code is a win32 CPP project, but the file IPTC.cpp seems to have the the important stuff. Porting to Ruby might be fairly simple.

Great! this does look do-able, I was hoping there might be something
like this to do but was a bit clueless and some documents discussing
hardcore steganography are a bit scary.
thanks,

Let us know how this goes. Maybe consider putting something up on rubyforge. I like the idea of a simple lib that reads ands writes basic jpeg metadata.

James

···

On Sat, 2004-09-18 at 20:22, James Britt wrote: