I have been looking for a solution to isolate markings and have not found anything on the internet that is close to for what I am looking. I am trying to isolate the markings in a series of pictures. I have one, unmarked image. I then have a series of identical images with markings. I would like to remove the original image from the succeeding images leaving only the markings "floating" on a white background. I have removed the color from the images, but that leaves the black and white original markings. I am looking for any hints, ideas, comments, thoughts, or direction to websites to show me how to remove the remaining original markings. Issues have been slight color differences due to copying, slight size and rotational issues. I am about to try to learn grey scale and differences, but seem to be having issues with the afore mentioned. I am looking at possible edge detection. However, did not see where this could be used on one picture to then remove same pattern from second picture. Thoughts are to enlarge by a small % the edge detected pattern to hopefully encompass size and rotational issues. Again, any comments appreciated. Has this been done ? Have attachment with cartoon (image) to be removed from second and third image. Thanks.

Recommended Answers

All 5 Replies

If you know the images are identical to the original except for the markings (btw, you missed the horizontal line under the bird feeder in the second image), then a subtractive algorithm would be appropriate - subtract the pixels in the original from the marked up copies.

Thought of this. My problem is the pixels do not line up one-to-one. If I have a size or shift, I have problems. This is why I went with removing color - I wouldn't have to deal with color shade issues. I see a lot of stuff with edge detection where it looks like the remaining background image can be found. Just haven't found a method to memorize the original background shape(s) and remove from the following images. Again, with size or shift, I need an intermediate step for the subtraction and/or align and resize to start the whole process.

Thanks for the thoughts. Anyone else ?

Do you know the pattern before hand? If so, have you ever tried edge detection before? Extract the edge from both the original and the marked image. Then compare both edge images which would be much easiler than comparing 2 full images.

Another method, you could also compute feature points (or feature detection). This method, however, requires deeper knowledge and more computation, but has much more potential to deal with many different type of images (including angle rotation).

If you want to do anything with images, you should look into Computer Vision field. Hope this help.

Interesting thought. Question - if I edge detect both original and marked, then compare, wouldn't that be the same theory as deducting pattern a from pattern b? I'll persue this and see what I can find. Just clicked the feature detection link. That looks very promising. Thanks !!!

Question - if I edge detect both original and marked, then compare, wouldn't that be the same theory as deducting pattern a from pattern b?

To answer your question, no it is not the same. Why? Edge image should contain only certain pixels that are contrast to their neighbor. Noise may be included but would be much less than its full color/gray image. This also depends on how your algorithm deal with the detection. Therefore, you are not comparing any background image but its edges. Below are edge images from your 3 images. I processed it using Canny algorithm. Not the best (tons of noise and your images aren't clear) but should give you an idea.

ec7682bcaece3d1060611eaeee674957

f3c60c586b4ce2efe71498b296489499

b41fa6b1333a2f86e33301d701ebd833

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.