If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register or Login
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Re: Hotspots in .Net

Once one "plays with" the two image approach and is comfortable in understanding its operation, it should not be difficult to make the jump to slight restrictions in the image colors. e.g. only even shades so that the least significant bit is not used to convey color, but rather conveys (part of) the mask.

Have any code? I was trying to figure out how you'd go about setting LSB of the original image...

TheCPUWizard is a registered trademark, all rights reserved. (If this post was helpful, please RATE it!) 2008, 2009,2010In theory, there is no difference between theory and practice; in practice there is.

* Join the fight, refuse to respond to posts that contain code outside of [code] ... [/code] tags. See here for instructions
* How NOT to post a question here
* Of course you read this carefully before you posted
* Need homework help? Read this first

Re: Hotspots in .Net

Originally Posted by dglienna

Maybe I'm missing something. What program would I use for that?

You WRITE one.

TheCPUWizard is a registered trademark, all rights reserved. (If this post was helpful, please RATE it!) 2008, 2009,2010In theory, there is no difference between theory and practice; in practice there is.

* Join the fight, refuse to respond to posts that contain code outside of [code] ... [/code] tags. See here for instructions
* How NOT to post a question here
* Of course you read this carefully before you posted
* Need homework help? Read this first

Re: Hotspots in .Net

I already posted the code. What I typically do is use PhotoShop, reduce the color depth of the original image, add a layer with the appropriate color for each hotsopt then simply merge the image.

But it CAN easile be done in ANY language and used on ANY platform simply by iterating the pixels and performing the steps posted.

TheCPUWizard is a registered trademark, all rights reserved. (If this post was helpful, please RATE it!) 2008, 2009,2010In theory, there is no difference between theory and practice; in practice there is.

* Join the fight, refuse to respond to posts that contain code outside of [code] ... [/code] tags. See here for instructions
* How NOT to post a question here
* Of course you read this carefully before you posted
* Need homework help? Read this first

TheCPUWizard is a registered trademark, all rights reserved. (If this post was helpful, please RATE it!) 2008, 2009,2010In theory, there is no difference between theory and practice; in practice there is.

* Join the fight, refuse to respond to posts that contain code outside of [code] ... [/code] tags. See here for instructions
* How NOT to post a question here
* Of course you read this carefully before you posted
* Need homework help? Read this first

Re: Hotspots in .Net

Thanks. That makes it crystal clear. I think I was hung up on this line...

No problem...You really have to stop thinking in decimal

You should be able to see how to extend by chaning 010101 to 030303 and getting 31 distinct spots.

Also if the patterns are in a List rather than an array, the explicit for loop can be replated with an IndexOf, and the total amount of code that is needed in the application is a single statement.

Plus the fact that I've never used Photoshop. (artistic skills lacking)

Actually the reason I DO use photoshop is because I am completely non-artistic, but you can create plugins that do all of the work based on a mathematical basis.

As you should now see, the colors for active areas will be VERY VERY close to the colors used for the same visual look, but in non (or different) areas. This does make this approach MUCH more suspectible to any distortion caused by compression and/or stretching. A 0.0000476837158203125% distortion will cause false results.

TheCPUWizard is a registered trademark, all rights reserved. (If this post was helpful, please RATE it!) 2008, 2009,2010In theory, there is no difference between theory and practice; in practice there is.

* Join the fight, refuse to respond to posts that contain code outside of [code] ... [/code] tags. See here for instructions
* How NOT to post a question here
* Of course you read this carefully before you posted
* Need homework help? Read this first

Re: Hotspots in .Net

Originally Posted by TheCPUWizard

Once one "plays with" the two image approach and is comfortable in understanding its operation, it should not be difficult to make the jump to slight restrictions in the image colors. e.g. only even shades so that the least significant bit is not used to convey color, but rather conveys (part of) the mask.

I've played a little with the idea of moving to only a single image using the LSB of each color as the Hotspot masking ...

And here is a list of considerations that i feel do not warent doing so...

GIF's Indexed color map. Too stay within the max colors the encoder will merge most of the close colors, again causing a loss of LSB's.

Most other image compresion formats also loose LSB data..

2) In the case of stretched images the image will still need to be loaded twice.

First. To the streched/Squeezed picturebox.

Second. To a hidden image sixed picturbox

Because of the unpredictable effect of the stretch code on pixel color's there's a good chance of LSB data loss ...
looking at simple Color averaging .. if we half the image size, and use the avarage of a 2 * 2 pixel block to select the color (looking at only one byte) and our cube has Color codes : 43,45,47,49 ... (LSB set for hotspot) however our new single pixel will have an averaged color code of 46 (LSB NOT SET) changing our hotspot value.

3) Applying Multiple masks to a single image requires a new full image for each set.

Consider the point of an image with multiple levels of focus. Like the one used in my example, if we looking at the foreground, we hotspot only items in the foreground, and ignore the background.. However we could draw up a second mask for it, ignoring the foreground and hot spot each of the seperate fish in the background.

Using a Seperate mask allows multiple masks to be applied to a single image.

These are just a few of the issues that I can foresee in the use of LSB's for hotspoting .. BUT I"M NOT SAYING that you cant use it, it's still worth a try..