Find a black pixel's position on multiple images

3 views (last 30 days)
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
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

Sign in to comment.

Accepted Answer

Ameer Hamza
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

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!