Find a black pixel's position on multiple images
2 views (last 30 days)
Show older comments
mael thevenot
on 27 Apr 2018
Commented: khaled abdessalem
on 7 Jan 2020
Hi,
I have an film of an object (black pixels) that move (background in white pixels). From this film i've exported all images, I have a folder with a lot of black and white images.
I'm using a loop with this to "load images in matlab" and it seems to work :
string= [num2str(i) '.jpg'];
I=imread(string);
Then what I would like to do is a loop and for each image, find the y position of the first black pixel of a specific column (i'm trying to observe an axial displacement, from top to bottom). Store the y value for each image and at the end plot the y position vs the time.
But I don't konw how in a loop I could say for each image "on x = 40, find from the top the first black pixel and store this value"?
Any help would be appreciated
Thanks
1 Comment
khaled abdessalem
on 7 Jan 2020
Hi Mael
please I need the conmplet matlab function that you use to plot y position vs the time for 120 images
All the best
Accepted Answer
Ameer Hamza
on 27 Apr 2018
Outside the for loop initialize a variable Y as
Y = zeros(1, m); % here m is total number of images. I am assuming that you already know this in advance. Otherwise use Y = []
Then under the following line add
string= [num2str(i) '.jpg'];
I=imread(string);
columnNumber = ; %define the column number you want to check
Y(i) = find( I(:, columnNumber) == 0, 1); % find first 0 pixel in specified column
% again here i am assuming that i goes from 1:m in for loop
5 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!