matlab中如何計算區域的畫素平均值

2022-01-19 18:34:33 字數 6101 閱讀 5669

1樓:糖糖寳寳

a=randint(4,4,[1 2])%%標記影象矩陣

a =2 2 2 2

1 2 1 2

2 1 2 1

1 1 2 1

b=rand(4,4)%%原影象矩陣

b =0.9355 0.0579 0.1389 0.2722

0.9169 0.3529 0.2028 0.1988

0.4103 0.8132 0.1987 0.0153

0.8936 0.0099 0.6038 0.7468

>> n1=0;n2=0;sum1=0;sum2=0;%%初始化各個引數

>> for i=1:size(a,1)

for j=1:size(a,2)

if a(i,j)==1

sum1=sum1+b(i,j);%%累加第一個區域的各個畫素值

n1=n1+1;

else

sum2=sum2+b(i,j);%%累加第二個區域的各個畫素值

n2=n2+1;

endend

end>> mean1=sum1/n1%%第一個區域的畫素平均值

mean1 =

0.5141

>> mean22=sum2/n2%%第二個區域的畫素平均值

mean22 =

0.3521

2樓:匿名使用者

一般是用移動視窗法。這種計算畫素平均值的手段通常是用在均滑模糊上。

先設定視窗邊長,假設正方形視窗為x。

然後讓這個視窗按步長值為1來在**區域左上到右下移動。每移動一格,就計算視窗中所有畫素值加起來再除以x的平方。然後遍歷全圖。

一般會把均值重新給視窗中點值。

就是幾重迴圈,很簡單的。自己網上搜也可以。

3樓:

這題對我胃口。

一般是用移動視窗法。這種計算畫素平均值的手段通常是用在均滑模糊上。

先設定視窗邊長,假設正方形視窗為x。

然後讓這個視窗按步長值為1來在**區域左上到右下移動。每移動一格,就計算視窗中所有畫素值加起來再除以x的平方。然後遍歷全圖。

一般會把均值重新給視窗中點值。

就是幾重迴圈,很簡單的。自己網上搜也可以。

4樓:惡魔的老狼

不是很清楚你的問題的涵義……

你的目的,是計算某個區域內所有畫素的灰度平均值嗎?

或者,是要求出r、g、b三種單色光的平均灰度,希望知道混合成的光的顏色?

如何用matlab計算**某一區域的畫素點平均值?

5樓:的的

i=imread('banlangen.png ');

[m,n]=size(i);

i1=i(1:m/2,1:n/2);

i2=i(m/2+1:m,n/2+1:n);

i3=i(1:m/2,n/2+1:n);

i4=i(m/2+1:m,1:n/2);%%分塊,如果閒這樣麻煩,就用迴圈把快存入細胞矩陣cell中,然後對cell中的塊進行求取平均值

i1_m=mean2(i1)

i2_m=mean2(i2)

i3_m=mean2(i3)

i4_m=mean2(i4)%%求取各個塊的畫素平均值

6樓:匿名使用者

學友,matlab 函式庫裡多看看吧,很全的,祝你自學成功

請教一下如何用matlab把已經做好區域標記的影象中每個區域的灰度平均值計算出?

7樓:酷呆愛死呆

>> a=randint(4,4,[1 2])%%標記影象矩陣

a =2 2 2 2

1 2 1 2

2 1 2 1

1 1 2 1

>> b=rand(4,4)%%原影象矩陣

b =0.9355 0.0579 0.1389 0.2722

0.9169 0.3529 0.2028 0.1988

0.4103 0.8132 0.1987 0.0153

0.8936 0.0099 0.6038 0.7468

>> n1=0;n2=0;sum1=0;sum2=0;%%初始化各個引數

>> for i=1:size(a,1)

for j=1:size(a,2)

if a(i,j)==1

sum1=sum1+b(i,j);%%累加第一個區域的各個畫素值

n1=n1+1;

else

sum2=sum2+b(i,j);%%累加第二個區域的各個畫素值

n2=n2+1;

endend

end>> mean1=sum1/n1%%第一個區域的畫素平均值

mean1 =

0.5141

>> mean22=sum2/n2%%第二個區域的畫素平均值

mean22 =

0.3521

matlab 如何統計某一區域行列的畫素個數

8樓:電動爐鉤子

直接sum就好了。

統計列的用sum(i),統計行的用sum(i,2)

9樓:it開發學習

可以配合使用函式find和函式length或者函式find和函式length求得。

1、函式find和函式length配合使用獲得畫素為value的畫素個數

% 讀入資料112.bmp是要讀入的影象

i = imread('112.bmp');

% 如果為彩色影象需轉為灰度影象,否則不需要i = rgb2gray(i);

% value為要計算的畫素值

[r,c]=find(i==value);

% 獲得個數

num=length(r);

2、函式find和函式sum配合使用獲得畫素為value的畫素個數% 讀入資料112.bmp是要讀入的影象

i = imread('112.bmp');

% 如果為彩色影象需轉為灰度影象,否則不需要i = rgb2gray(i);

% 獲得畫素值為value的素值個數

num=sum(sum(i==value));

matlab如何求一組資料平均值

10樓:shine戚七七

a=randint(4,4,[1 2])%%標記影象矩陣a =2 2 2 2

1 2 1 2

2 1 2 1

1 1 2 1

b=rand(4,4)%%原影象矩陣

b =0.9355 0.0579 0.

1389 0.27220.9169 0.

3529 0.2028 0.19880.

4103 0.8132 0.1987 0.

01530.8936 0.0099 0.

6038 0.7468>> n1=0;n2=0;sum1=0;sum2=0;%%初始化各個引數

>> for i=1:size(a,1)

for j=1:size(a,2)

if a(i,j)==1

sum1=sum1+b(i,j);%%累加第一個區域的各個畫素值n1=n1+1;

else

sum2=sum2+b(i,j);%%累加第二個區域的各個畫素值n2=n2+1;

endend

end>> mean1=sum1/n1%%第一個區域的畫素平均值mean1 =

0.5141

>> mean22=sum2/n2%%第二個區域的畫素平均值mean22 =

0.3521

11樓:匿名使用者

假設2264個資料為列向量data,**就可以這樣子寫~data=reshape(data,65,);

junzhi=mean(data,2);

junzhi就是要求的值了

12樓:手機使用者

原始資料b、c列含有「,」,需要先行處理。

將資料貼上到matlab目錄下新建的pingjun.txt文件中。**如下:

load pingjun.txt;

a=pingjun;

for i=1:12

for j=2:3

mean_l(i,j)=mean(a(find(a(:,1)==i),j));

endend

以上回答你滿意麼?

在matlab中 怎麼計算平均值

13樓:匿名使用者

1、第一步開啟matlab,在命令列視窗中輸入a=[12 24 35;26 78 56],建立一個2行3列的矩陣,如下圖所示:

2、第二步在命令列視窗中輸入mean(a(:)),求a矩陣所有元素的平均值,如下圖所示:

3、第三步按回車鍵之後,可以看到a矩陣所有元素的平均值是 38.5000,如下圖所示:

4、第四步如果想求矩陣每一列的平均值,輸入mean(a,1),如下圖所示:

5、第五步如果想求矩陣每一行的平均值,輸入mean(a,2),如下圖所示:完成。

14樓:一棵無所不知的小白菜

1、開啟matlab,在命令列視窗中輸入a=[12 24 35;26 78 56],建立一個2行3列的矩陣。

2、在命令列視窗中輸入mean(a(:)),求a矩陣所有元素的平均值。

3、按回車鍵之後,可以看到a矩陣所有元素的平均值是 38.5000。

4、如果我們想求矩陣每一列的平均值,輸入mean(a,1)。

5、如果我們想求矩陣每一行的平均值,輸入mean(a,2),即可完成求平均值。

15樓:匿名使用者

(1)sum

(2)max、min

(3)sum/length

(4)while ==1 count=count+1這個用excel瞬間的事情,用matlab反而麻煩

16樓:匿名使用者

>> dt = randint(10,2,[0 255]);

dtmax = max(dt) % 最大值dtmin = min(dt) % 最小值dtmean = mean(dt) % 平均值dtmax =

214 220

dtmin =

5 38

dtmean =

124.5000 133.9000

17樓:

計算平均值的方法如下:

>> dt = randint(10,2,[0 255]);

dtmax = max(dt) % 最大值;

dtmin = min(dt) % 最小值;

dtmean = mean(dt) % 平均值;

dtmax =214 220

dtmin =5 38

dtmean =124.5000 133.9000。

m = mean(a)

返回沿陣列中不同維的元素的平均值。

如果a是一個向量,mean(a)返回a中元素的平均值。

如果a是一個矩陣,mean(a)將中的各列視為向量,把矩陣中的每列看成一個向量,返回一個包含每一列所有元素的平均值的行向量。 如果a是一個多元陣列,mean(a)將陣列中第一個非單一維的值看成一個向量,返回每個向量的平均值。

m = mean(a,dim)

返回a中沿著標量dim指定的維數上的元素的平均值。對於矩陣,mean(a,2)就是包含每一行的平均值的列向量。

舉個例子給你看看:

a = [1 2 3; 3 3 6; 4 6 8; 4 7 7];

mean(a)

ans =3.0000 4.5000 6.0000mean(a,2)

ans = 2.0000  4.0000  6.0000

matlab求二值影象中白色區域的面積

a imread 計算白色畫素的個數 b sum sum a 256 計算比例 ratio b numel a 然後看看整張圖的面積,乘以ratio就可以了。求是可求的,單位是按畫素呢,還是平方釐米?matlab如何求二值影象中白色區域的面積?平均面積呢 40 二值影象就是一個矩陣,比如100 10...

請問在MATLAB中,如何計算含有未知數的矩陣

用sym定義一個符號矩陣來計算含有未知數的矩陣。格式是sym 中為係數矩陣。matlab是美國mathworks公司出品的商業數學軟體,用於演算法開發 資料視覺化 資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。matlab應用非常之廣泛。用sym...

matlab中怎樣計算矩陣中每個數的平方

使用點運算。如果原矩陣式a,可以使用a.a或者a.2matlab中點運算是對相同維數的矩陣的對應元素進行相應的運算。點乘,相同維數的矩陣的對應元素相乘。點乘冪,a.b相同維數的矩陣a元素的b對應元素次冪。a.n矩陣a中所有元素取n次冪。點左除,相同維數的矩陣的對應元素進行 運算。點右除,相同維數的矩...