博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RGB颜色矩提取算法——Matlab
阅读量:5759 次
发布时间:2019-06-18

本文共 1162 字,大约阅读时间需要 3 分钟。

 

一、颜色矩公式

一阶颜色矩——均值,反映图像明暗程度

二阶颜色矩 ——标准差,反映图像颜色分布范围

  

三阶颜色矩 ——方差,反映图像颜色分布对称性

 


二、方法一:

firstMoment = mean(mean(tmpImage)); % 一阶颜色矩

difference = tmpImage(:,:,m) - firstMoment(1,1,m); %差分颜色矩

secondMoment = sqrt(mean(mean(difference.*difference))); % 二阶颜色矩

thirdMoment = nthroot(mean(mean(difference.*difference.*difference)),3); % 三阶颜色矩

To interpret

tmpImage –>101(rows)*101(columns)*3(layers) Matrix

第一次求均值(mean(tmpImage)):1*101*3

%均值mean函数,优先对列求均值

firstMoment –> 第二次求均值:1*1*3

difference –> 101*101*1

%点乘(矩阵乘法):[3*3*1].*[3*3*1] –> [3*3*1]

difference.*difference –> 101*101*1

%两次求均值是因为要求一个二维矩阵的矩阵

secondMoment –> 原理同上

thirdMoment –> 原理同上


三、方法二

firstMoment = mean(mean(tmpImage)); % 一阶颜色矩

difference = tmpImage(:,:,m) - firstMoment(1,1,m); %差分颜色矩

secondMoment = sqrt(sum(difference(:).*difference(:))/101/101)); % 二阶颜色矩

thirdMoment = nthroot(sum(difference(:).*difference(:).*difference(:))/101*101,3); % 三阶颜色矩

To interpret

difference(:) –>10201*1(columns)*1(layer)

%将其矩阵转换为n*1的列矩阵

difference(:).*difference(:) –> 10201*1*1

sum((difference(:).*difference(:))/101/101)) –> 1(sum value)*1*1

sum value/101/101 –> mean value

转载于:https://www.cnblogs.com/shadrach/p/5511160.html

你可能感兴趣的文章
hive的数据类型
查看>>
代码自动补全插件CodeMix使用教程(一):智能感知
查看>>
install a cart
查看>>
宜信开源微服务任务调度平台(SIA-TASK)
查看>>
如何将DVD电影复制到Mac上的DVD±R,DVD-Cloner使用教程
查看>>
电脑端怎样具体操作图片文字识别?
查看>>
干货分享,4个让你眼前一亮的手机软件,款款良心
查看>>
主流思维导图软件大评比
查看>>
H - 连通分量 POJ - 3620 Avoid The Lakes DFS水题
查看>>
android超链接
查看>>
U8存货核算月末结账的月份跟日期对不上,导致无法结账
查看>>
redhat tomcat
查看>>
记一次MongoDB CPU飙升至99%问题的解决
查看>>
浅谈AC自动机
查看>>
C#如何提取PPT中 SmartArt文本和批注中的文本
查看>>
通过文本查找元素
查看>>
统计数据库大小
查看>>
Asp.net MVC3学习案例
查看>>
IO流的学习--文件夹下文件的复制
查看>>
第十六章:脚本化HTTP
查看>>