how to collect the each row of a matrix after operation

1 回表示 (過去 30 日間)
sachit
sachit 2014 年 12 月 23 日
コメント済み: Image Analyst 2014 年 12 月 23 日
v=hsv(:,:,3);
p=1:256;
x=v(1:256, p);
h=imhist(v);
a=sum(x.*h);
b=sum(h);
M=a/b
the problem is that x should be of 256*1, and i want the vale of 'M' to be 256*256. which loop should i start so that p uses all value from 1 to 256 and automatically it should have its value in a form of a matrix of 256*256

採用された回答

Image Analyst
Image Analyst 2014 年 12 月 23 日
What are you doing? It makes little sense to me. You're multiplying the histogram counts by the upper left 256x256 portion of the value channel image. Then you're summing the histogram to get b, which is simply the number of pixels in the image. Then you're dividing the "a" by "b". So essentially it looks like you're just computing the mean of the value channel, which can be done more simply as
M = mean2(v);
  2 件のコメント
sachit
sachit 2014 年 12 月 23 日
編集済み: sachit 2014 年 12 月 23 日
no sir actually here 'h' is the histogram value. and x is the pixel value belongs to v and in our command and my operation the value are different. after applying this operation i get value of M 256 times i just want these values in the matrix form
Image Analyst
Image Analyst 2014 年 12 月 23 日
I know h is the "histogram value". I called it the "histogram counts" because it's the count of pixels with each gray level. We're both talking about the same thing. And I realize x is the upper left 256x256 portion of the v (value) channel, which may be the entire v image since I don't know the size of v, but if it was the whole image you would not even use 1:256 at all.
So, what is x.*h? It's a 2D image multiplied by a vector. Doesn't make sense. Unfortunately I don't really know enough of what you're trying to accomplish to suggest a solution.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImages についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by