Clear Filters
Clear Filters

How to store the pixel information of each images in a folder into separate variables?

1 view (last 30 days)
I have a code that counts black pixels of a given image and stores that in a variable. I want to count and store black pixels from each images of a folder into separate variables.
I = imread('8.JPG');
bw = imbinarize(I);
figure; imshow(bw);
ctr= 0;
for i = 1:224
for j =1:224
if bw(i,j) ==0
ctr = ctr + 1;
end
end
end
How can I implement this code using loop for all the images in a directoy so thati can have a variable that contains numbers of black pixels of each image?

Accepted Answer

Image Analyst
Image Analyst on 28 May 2019
How about using save()?
I = imread('8.JPG');
bw = imbinarize(I);
numBlackPixels = nnz(~bw);
folder = 'c:/whereverYouWant';
baseFileName = 'MyData.mat';
fullFileName = fullfile(folder, baseFileName);
save(fullFileName, 'numBlackPixels');
No for loop is needed.
Repeat for all your other images.
See the FAQ for code samples to process a sequence of images: The FAQ
  1 Comment
Md Farhad Mokter
Md Farhad Mokter on 28 May 2019
Thank you so much for your quick answer. But I have a large amount of images in the folder and I need to find the ratio of black pixels to other pixels for each image. repeating the process for all images will be hectic Thats why i need variables for each images. I Could not think of other ways. Please let me know if you have better alternatives.

Sign in to comment.

More Answers (0)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!