Computing the sum of each column in an image
18 views (last 30 days)
Show older comments
Niranjan
on 22 Jan 2011
Commented: Sampath Kumar
on 17 Oct 2017
Hi i want to find out the sum of individual columns in an image and draw a plot indicating the number of pixels in each column(A density chart).Here is my code. Please help me further.
CODE:
clc;clear all,close all;
newimage=imread('NEW1.jpg');
count=find(newimage<1);
disp(count);
sum1=sum(newimage');
display(sum1);
OUTPUT:
sum1 =
Columns 1 through 5
69646 69446 18233 68154 57611
Columns 6 through 10
45726 36549 54894 20902 3878
Columns 11 through 15
45726 .......
BUT I WANT MY OUTPUT TO BE AS
4512(say)[sum for the first column] 4561[for the second column] and so on....
HOW TO GET IT??? PLEASE HELP
6 Comments
Walter Roberson
on 13 May 2011
duplicates http://www.mathworks.com/matlabcentral/answers/255-creating-a-plot-of-intensity-of-pixels-across-an-image-using-matlab
Accepted Answer
Walter Roberson
on 22 Jan 2011
The number of pixels in each column of an image is a constant. If you only want to count the number of pixels below a certain value, then:
bar(mean(newimage<TheValue)))
7 Comments
Walter Roberson
on 24 Jan 2011
You don't need to plot to find that.
t = sum(newimage<TheValue);
[ts, tidx] = sort(t);
min2dist = abs(tidx(2) - tidx(1));
More Answers (2)
Paulo Silva
on 22 Jan 2011
[X,map] = imread('trees.tif'); %example of an image
col=1:numel(X(1,:)); %create a column vector for the next code line
Count(col)=sum(X(:,col)); %is this what you want?
JEBA CHRISTILDA
on 26 Aug 2016
Hi i want to create a graph for each blocks of binned image. it was an medical image can anybody please help me.
1 Comment
Walter Roberson
on 27 Aug 2016
Please create a new Question for that.
In the new Question, describe what kind of graph you want to create, and indicate whether you need assistance with the dividing into blocks or only with the graphing.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!