matlab 計(jì)算灰度圖像的一階矩,二階矩,三階矩實(shí)例
一階矩,定義了每個(gè)顏色分量的平均強(qiáng)度

二階矩,反映待測區(qū)域顏色方差,即不均勻性

三階矩,定義了顏色分量的偏斜度,即顏色的不對稱性

close all;clear all;clc;
J = imread('lena.jpg');
K = imadjust(J,[70/255 160/255],[]);
figure;
subplot(121),imshow(J);
subplot(122),imshow(K);
[m,n] = size(J);
mm = round(m/2);
mn = round(n/2);
[p,q] = size(K);
pp = round(p/2);
qq = round(q/2);
J = double(J);
K = double(K);
colorsum = 0.0;
Javg = mean2(J) %求原圖像一階矩
Kavg = mean2(K) %求增強(qiáng)對比度后的圖像一階矩
Jstd = std(std(J)) %求原圖像的二階矩,因?yàn)橐淮蝧td函數(shù)表示按列求標(biāo)準(zhǔn)差,兩次std表示求整個(gè)矩陣的標(biāo)準(zhǔn)差
Kstd = std(std(K)) %求增強(qiáng)對比度后的圖像二階矩
for i=1:mm
for j=1:mn
colorsum = colorsum+(J(i,j)-Javg)^3;
end
end
Jske = (colorsum/(mm*mn))^(1/3) %求原圖像的三階矩
colorsum = 0.0;
for i=1:pp
for j=1:qq
colorsum = colorsum + (J(i,j)-Kavg)^3;
end
end
Kske = (colorsum/(pp*qq))^(1/3) %求增強(qiáng)對比度后的圖像三階矩
部分函數(shù)說明:
mean2(A) : 求矩陣A的均值
std(x,flag,dim): 求x的標(biāo)準(zhǔn)偏差
std(x,0,1) : 0表示求標(biāo)準(zhǔn)差時(shí)除n-1,1表示按列劃分
std(x,1,2) : 1表示求標(biāo)準(zhǔn)差時(shí)除n,2表示按行劃分
補(bǔ)充知識(shí):圖像的重心和二階矩
圖像的重心
圖像實(shí)際上就是個(gè)矩陣,每個(gè)位置的元素就是該處的像素。 這里碰到了求圖像重心的問題,特此總結(jié):
計(jì)算公式:

其中(xi,yi)是像素點(diǎn)的坐標(biāo),pi是該點(diǎn)的像素值。
以下是利用matlab求圖像重心
I = imread(‘1.jpg'); I = rgb2gray(I); imshow(I); I = double(I); [rows,cols] = size(I); x = ones(rows,1)*[1:cols]; y = [1:rows]'*ones(1,cols); area = sum(sum(I)); meanx = sum(sum(I.*x))/area; meany = sum(sum(I.*y))/area; hold on; plot(meanx,meany,'r+'); %十字標(biāo)出重心位置
圖像的二階矩
我們這里只討論二階矩的問題。
二階矩最終是形成了一個(gè)二階矩陣,如下:

計(jì)算方法:

其中(r0,c0)是重心坐標(biāo)。
以上這篇matlab 計(jì)算灰度圖像的一階矩,二階矩,三階矩實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django csrf 驗(yàn)證問題的實(shí)現(xiàn)
csrf是通過偽裝來自受信任用戶的請求來利用受信任的網(wǎng)站。這篇文章主要介紹了Django csrf 驗(yàn)證問題的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10
Python實(shí)現(xiàn)常用文本內(nèi)容提取
在日常工作和學(xué)習(xí)中,我們經(jīng)常需要從PDF、Word文檔中提取文本,本文將介紹如何使用Python編寫一個(gè)文本內(nèi)容提取工具,有需要的小伙伴可以參考下2025-03-03
Python中index()函數(shù)與find()函數(shù)的區(qū)別詳解
這篇文章主要介紹了Python中index()函數(shù)與find()函數(shù)的區(qū)別詳解,Python index()方法檢測字符串中是否包含子字符串 str ,如果指定beg開始和end結(jié)束范圍,則檢查是否包含在指定范圍內(nèi),需要的朋友可以參考下2023-08-08
教你利用Selenium+python自動(dòng)化來解決pip使用異常
今天帶大家來學(xué)習(xí)怎么利用Selenium+python自動(dòng)化解決pip使用異常,文中介紹的非常詳細(xì),對正在學(xué)習(xí)python的小伙伴們有很大的幫助,需要的朋友可以參考下2021-05-05
python中threading.Semaphore和threading.Lock的具體使用
python中的多線程是一個(gè)非常重要的知識(shí)點(diǎn),本文主要介紹了python中threading.Semaphore和threading.Lock的具體使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-08-08

