Image from Gradient and Magnitude
Show older comments
Hello, with imgradient I can compute the magnitude and direction of an image's gradient. Is it also possible to somehow compute an image from magnitude and direction?
I basically have a 2d matrix with a linear ramp in a certain direction, and I want to increase the slope of this ramp, so that the direction stays the same, but the values increase faster.
The overall offset does not matter.
Thank you very much!
Answers (1)
Image Analyst
on 6 Jul 2014
0 votes
Sounds like it should be theoretically possible to rebuild the image, but I'm not sure how. I take it that you somehow have the gradient image, not from imgradient() but from some other source - otherwise you'd already have the original image and you would not need to recreate it.
5 Comments
T
on 6 Jul 2014
Image Analyst
on 6 Jul 2014
Simply multiply your original image by a scalar.
image2 = image2 * someValue;
If the values would go above 255 and your image is uint8, then cast the image to double before multiplying.
image2 = double(image1) * someValue;
Even if they don't exceed 255 you might have to cast to double - then cast to uint8 after the multiplication.
image2 = uint8(double(image1) * someValue);
Image Analyst
on 6 Jul 2014
My method just amplified all slopes. If you have a particular ramp that you want then you have to add or multiply that ramp image by the original image
output = image1 .* rampImage;
or
output = image1 + rampImage;
T
on 6 Jul 2014
Categories
Find more on Object Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!