Jump to content

Steganography (Hidden Images-secret agenty stuff) v3.0 Updated July 12, 2014


Recommended Posts

BoltBait! Mind sharing the source?

Well, I started with pleska's Photo Flood Fill plugin (source is available in this forum). And, it's not really very clean. I'll post the algorithm that I'm using if that would do.

sounds good.

xZYt6wl.png

ambigram signature by Kemaru

[i write plugins and stuff]

If you like a post, upvote it!

Link to post
Share on other sites

Okay then:-

Standard Shapes Effect

Feather Effect

Flip Selection Effect (hilariously useful)

Ink Sketch Effect - clearly useful for it to included next release

Portrait Effect - " "

CodeLab

RGB to CMYK Color Space

I would have included Arrow Effect but that's been superseded by the actual feature, but at the time very useful. Same with Gradient. A few others like the Reflection, although could be done without said effect it does make the job much, much easier and more professional.

Link to post
Share on other sites

Heh. I only count 10/21. And, I'm being generous.

Arrows, Gradient, Grid, scanlins, halo, seamless, DPC, and Flip all have better versions out now which makes them useless.

Now, compare that to someone like Ed Harvey who has 20+ GOOD plugins. *sigh*

I need to work harder... :(

(OK, maybe I'm just tired and cranky as I'm in the middle of a 24 hour shift due to a massive deadline later today. So, what am I doing? Surfing, of course!)

Click to play:
j.pngs.pngd.pnga.pngp.png
Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game

Link to post
Share on other sites
  • 4 weeks later...

I realize that this thread is almost a month old, but it's still on the first page, so hopefully that's considered recent enough ;)

I've got two solutions that would both help towards making the encoded image perceptually invisible

For example, say you want to encode a 1-bit image into a 24-bit image. You're commandeering, I imagine, the least significant 3 bits (one per channel) in each pixel.

First, for a 1-bit source image, you should get three hidden pixels per one real pixel. If we're only encoding a 1-bit image, might as well take advantage of all the available bits. This also means that the hidden image can be up to three times larger (in number of pixels) than the final image.

The second suggestion, and this is the most effective part, is to apply a compression algorithm to the image you're hiding (.NET directly supports several compression systems already). Compressed files look a lot like random bits. This is because a good compression algorithm produces data that has few patterns. Because patterns are compressible, that'd mean that the compression algorithm wasn't doing a good job.

Just to sum that up, when you compress data, the output looks random. So if you take a 1-bit image, compress it using something fairly simple (deflate, for example), and THEN overlay the compressed data (one bit at a time) over the final image, the overlay will look random. There won't be any pattern, and slight random variations in pixels are pretty much invisible to the human eye!

The other benefit, of course, is that since we're taking a 1-bit image, encoding 3 bits per pixel, and compressing it, you can either fit significantly larger images in, or work in redundancy to survive lossy compression. Or you could just repeat the data to get a uniform random jitter on all pixels.

EDIT: Here's an image with a 1-bit random image (OK, semi-random, it was the PDN Cloud plugin with minimum size, and then a threshold applied, it looks random enough). it gets added as just slight noise being added to the photo, no chance to see it on top of a photograph:

endeavour_stegged.png

Except that slight random noise could be holding an actual image once you extract and decompress it.

Link to post
Share on other sites

"Stegged," eh? Sounds like a good way to abbreviate our favorite secret agenty stuff...

 

The Doctor: There was a goblin, or a trickster, or a warrior... A nameless, terrible thing, soaked in the blood of a billion galaxies. The most feared being in all the cosmos. And nothing could stop it, or hold it, or reason with it. One day it would just drop out of the sky and tear down your world.
Amy: But how did it end up in there?
The Doctor: You know fairy tales. A good wizard tricked it.
River Song: I hate good wizards in fairy tales; they always turn out to be him.

Link to post
Share on other sites
Here is mine. Anyone care to try it out? It is hilarious!!!

Halo3Prank.jpg

Awesome tut for your awesome Plug-in.

EDIT: I couldn't read the message in Davids sig, i tried but some words were just apsolutey positively impossible to read.

I pre-ordered halo 3 :D

Also this is an awesome plugin that you guys should try. for all you know you might find some hidden images in signatures avatars etc...

47306796ff8.png
Link to post
Share on other sites
i LOVE this ^^

but

is there a way that the quality of the picture doesn't go lower?

prolly not

Quality of both images will always suffer.

To hide a color image, the main image is losing 9 out of 24 bits of information. Plus, the hidden image is being converted from whatever you are using (24 bit?) down to 9 bits. There is no way around this with the algorithm I'm using.

There are an unlimited number of algorithms that could be implemented--many that could be encrypted or lossless. So, if you want to code your own, go for it!

Click to play:
j.pngs.pngd.pnga.pngp.png
Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...