颜色直方图java代码 颜色直方图有哪些优缺点

急求用JAVA写的HSV颜色直方图的颜色特征提取的代码一种非常简单而有效的颜色特征使由Stricker 和Orengo所提出的颜色矩(color moments) 这种方法的数学基础在于图像中任何的颜色分布均可以用它的矩来表示 。此外,由于颜色分布信息主要集中在低
阶矩中 , 因此仅采用颜色的一阶矩(mean)、二阶矩(variance)和三阶矩(skewness)足以表达图像的颜色分布 。与颜色直方图相比,该方法的另一个好处在于无需对特征进行向量化 。因此,图像的颜色矩一共只需要9个分量(3个颜色分量 , 每个分量上3个低阶矩) , 与其他的颜色特征相比是非常简洁的 。在实际应用中为避免低次矩较弱的分辨能力 , 颜色矩常和其它特征结合使用,而且一般在使用其它特征前起到过滤缩小范围(narrow down)的作用 。
java生成直方图和饼图可以啊颜色直方图java代码,用Java2D绘图库很容易颜色直方图java代码的,都是些线、矩形、扇形、字符串而已,以前项目中这么作过,如果不作通用类库颜色直方图java代码的话结构也可以不考虑那么些,直接作个专用方法,传数据对象进去,返回图像BufferedImage之类就行颜色直方图java代码了 。只是些四则运算 。
或者找其它类库 。
如何使用Java和opencv来得到图像的H-S直方图?//因为要计算H-S的直方图 , 所以需要得到一个HSV空间的图像
cvtColor(srcImage, hsvImage, CV_BGR2HSV);
imshow("【HSV空间的原图】", hsvImage);
//为计算直方图配置变量
//首先是需要计算的图像的通道,就是需要计算图像的哪个通道(bgr空间需要确定计算 b或g货r空间)
int channels[] = { 0, 1 };
//然后是配置输出的结果存储的 空间  , 用MatND类型来存储结果
MatND dstHist;
//接下来是直方图的每一个维度的 柱条的数目(就是将数值分组,共有多少组)
//如果这里写成int histSize = 256; 那么下面调用计算直方图的函数的时候,该变量需要写 histSize
int histSize[] = { 30, 32 };
//最后是确定每个维度的取值范围,就是横坐标的总数
//首先得定义一个变量用来存储 单个维度的 数值的取值范围
float HRanges[] = { 0, 180 };
float SRanges[] = { 0, 256 };
const float *ranges[] = { HRanges, SRanges };
求 JAVA语言 如何提取图像颜色特征和颜色直方图的方法java.awt.Color 类用于封装默认 sRGB 颜色空间中的颜色 , 或者用于封装由 ColorSpace
标识的任意颜色空间中的颜色 。每种颜色都有一个隐式的 alpha 值 1.0 , 或者有一个在构造方法中提供的显式的 alpha 值 。alpha
值定义了颜色的透明度 , 可用一个在 0.0 - 1.0 或 0 - 255 范围内的浮点值表示它 。alpha 值为 1.0 或 255
则意味着颜色完全是不透明的,alpha 值为 0 或 0.0 则意味着颜色是完全透明的 。在使用显式的 alpha 值构造 Color
时,或者在获取某个 Color 的颜色/alpha 分量时,从不将颜色分量预乘 alpha 分量 。
希望可以帮助到你.
【颜色直方图java代码 颜色直方图有哪些优缺点】关于颜色直方图java代码和颜色直方图有哪些优缺点的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读