How to store the difference between adjacent pixel values of image

5 次查看(过去 30 天)
I have a black and white image and I need to store the value of the differences between each adjacent pixel so that i may plot the values in a histogram.
  3 个评论
layth ibrahim
layth ibrahim 2022-4-11
Starting from pixel (1,1) after that the difference with the pixel before its position. Sorry, I should have said its grayscale.

请先登录,再进行评论。

回答(2 个)

Benjamin Thompson
Benjamin Thompson 2022-4-11
编辑:Benjamin Thompson 2022-4-11
Use imfilter with a 1D filter argument. If your h is vertical then the difference operation is in the vertical direction. If the filter coefficients h are horizontal then the difference operation is horizontal.
>> imshow(phantom)
>> imshow(imfilter(phantom, [-1 1]))
>> imshow(imfilter(phantom, [-1 1]'))

DGM
DGM 2022-4-11
If all you want is the difference in one direction, then just use diff().
A = randi([0 255],10);
dAdx = diff(A,1,2);
histogram(dAdx(:))

Community Treasure Hunt

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

Start Hunting!

Translated by