How can I isolate a faint gradient in an image using matlab?

조회 수: 1 (최근 30일)
Chris
Chris 2014년 1월 8일
댓글: Image Analyst 2021년 11월 17일
I am trying to trace the border of a shockwave in a series of images as it advances in time.
For reference watch the video below at the 2:30 mark.
There is a thin almost translucent shock that moves faster than the debris. I have been converting the image to black and white so that I can use edge finding algorithms in matlab, the only trouble that I have is that I can't seem to isolate the shockwave. I have been using the graythresh() function, but it doesn't capture the wave. It captures the more obvious dirt, smoke, and debris instead of the more subtle wave.
I'm thinking that some sort of analysis of the gradient might be effective. Assuming a relatively static background would it be possible to examine two frames and detect the changes in them to isolate the shockwave?
I'm relatively new to image processing, so I'm open to any suggestions.
Thanks, Chris N.
Here are two sample images for reference. They are screenshots of the video separated by a few seconds. The motion and location of the wave becomes apparent when comparing two images. Otherwise it is hard to find the shock location. That is why I feel that some sort of comparison between two frames may work.

채택된 답변

Image Analyst
Image Analyst 2014년 1월 8일
편집: Image Analyst 2014년 1월 8일
What if you simply subtract the two frames?
diffImage = abs(double(frame1) - double(frame2));
imshow(diffImage);
  댓글 수: 16
Sampada J
Sampada J 2021년 11월 17일
@Chris, @Image Analyst I'm Having the same problem. Even after amplifying the subtraction results, the exact boundary is not visible and visible only as distant dots (would seem noise to a layman). Would be great if you guys can share the code.
Image Analyst
Image Analyst 2021년 11월 17일
Yes, because not much changed between those two frames. You might try a larger time difference between frames if you want to see a bigger difference.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Rui Yang
Rui Yang 2017년 5월 23일
Hello Chris, I have encountered a similar problem. I have read your discussion, but can not understand. Could I have a copy of your code and pictures? My email is hypershan92@Gmail.com.
Thank you very much for your sharing.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by