Click here to Skip to main content
15,887,683 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi CP.

I've created a form which is a TopMost application with a special image and I made the form be semi-transparent but because of high quality(resolution) I made the Opacity to be 0.1% so that I can see through it easily.

Now what I want to do now is to be able to detect this image or its parts from a video. I want to check if a video has this sort of watermark image or its parts, If the image/its parts(pixels) are detected popup a message.

This will be a complete different project as that which has this image on.

How can I achieve that, I've checked the face detection but now the problem is that this picture may not be detected when a video shows some bright lights as the image I want to detect has some white lines and greenish code on it so I think face detection will try to detect the entire image which is a problem because the image I want to detect may not fully or totally be visible all parts of it through a video because of the video colors when a video is in daylight this will make the image be not easily detected through the bright light.

Also I'm not sure how I can detect this using face detection technique in a video using VB.NET, The whole idea is to create a video player which will play this video then detect this image there.

Any idea?

What I have tried:

I've checked with face-detection technique but I have no idea how I could apply it to this.
Posted
Updated 23-Aug-16 2:20am
Comments
Richard MacCutchan 23-Aug-16 8:07am    
The use of Opacity in images only affects what is displayed on the screen. The original data is still complete so you can still 'see' the complete image in the bitmaps or video frames that your program deals with.
[no name] 23-Aug-16 11:57am    
Thanks but now a face detection will try to detect the entire image or will try to search for entire image to match up, which will be a problem because of the light from the video, lets say a video has some white parts, the white area will not be detected by face detection because the light/whites makes it very hard to see some of the image(watermark) lines.

But I will also give it a try and see if it will work as also the image appears very light on screen if it will be able to detect it. But what I think might be a solution is to check if the video has any part of the original image, maybe lines/digits etc.
nv3 23-Aug-16 12:38pm    
Some parts of what you are trying are still not clear to me. Are you really talking about 0.1% opacity, which means, the image is barely visible at all (or did you mean opacity 0,1, i.e. 10%)?

I understand that you are building kind of a video-player, which superimposes your watermark image over the video. Then you want to capture the resulting screen image and try to detect if the watermark image has been superimposed or not. Correct? If so, what is all that good for? Is that just an experimental setup to play with watermarks and their detection.

Lets assume, I understood your task correctly. Recognizing a watermark has nothing to do with face recognition. Consider how the watermark influences your image. It adds edges to the image, the edges contained in the watermark. Therefore you want to do edge detection on the image and compare the edges with those of the watermark. Unfortunately, the result will also contain the edges from your original image. So you can only expect the just some of the edges in your new image will come from the watermark. Therefore the difficulty lies in finding a reasonable threshold of how many of the watermark edges will be required to be found in order to call it a positive match.

Hope that sets you onto the right path.
[no name] 11-Sep-16 4:19am    
Hi nv3, sorry to take so long to reply. Well let me clear this out. I have 2 different applications, one is a watermarker(this is the app that displays a water mark image on a screen.) The second application will be for reading video lets say from a file and get its frames and try to check if the video has this watermark on it. I think the tool to use is OpenCV as KarstenK has said because I want to check if a video has any part of the watermark on it that all.

1 solution

Your project is a tricky task to do. For performance reasons you really should consider implementing the video detection code in C++.

You must work with some graphics library and preprocess the image like with edge or line detection.

A possible way to go is with OpenCV as described int this article which handles some aspects of content based image retrieval.

Dig in the sample code of OpenCV for further possible scenarios like hull, edges and so on...
 
Share this answer
 
Comments
[no name] 23-Aug-16 12:25pm    
Thanks and by looking to those links its looks like this is what I'm looking for. I guess I will have to dig more into this, but the problem is that I'm not a C++ dev but will check more into details on this and if there is any possible way to do this in VB.NET.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900