- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有十六进制格式的颜色列表(例如#000000),我想检测颜色类型(蓝色、红色、绿色等),然后将颜色类型更改为另一种颜色类型。这可能吗?是否有任何框架/库可以完成此任务?
示例:
我有颜色#EB1369(红色),然后将其转换为蓝色,例如变成#1313EB(蓝色)。
最佳答案
这是一个可以让您围绕色相环移动颜色的函数。您应该阅读有关 HSB(或 HSV)颜色系统的维基百科页面,以真正了解正在发生的事情:http://en.wikipedia.org/wiki/HSV_color_space
/** Converts an input color given as a String such as "ab451e" to
* the HSB color space. Shifts its hue from the given angle in degrees.
* Then returns the new color in the same format it was given.
*
* For example shift("ff0000", 180); returns "80ff00" (green is the opposite of red).*/
public static String shift(String rgbS, int angle) {
// Convert String to integer value
int value = Integer.parseInt(rgbS, 16);
// Separate red green and blue
int r = value >> 16;
int g = (value >> 8) & 0xff;
int b = value & 0xff;
// Convert to hsb
float[] hsb = Color.RGBtoHSB(r, g, b, null);
// Convert angle to floating point between 0 and 1.0
float angleF = (float)(angle/360.0);
// Shift the hue using the angle.
float newAngle = hsb[0] + angleF;
if(newAngle > 1.0)
newAngle = newAngle - 1.0f;
hsb[0] = newAngle;
// Convert back to RGB, removing the alpha component
int rgb = Color.HSBtoRGB(hsb[0], hsb[1], hsb[2]);
rgb = rgb & 0xffffff;
// Build a new String
return Integer.toHexString(rgb);
}
检测颜色可能很复杂,这取决于您真正期望的结果。
如果您想要的只是一个近似值(红色、绿色、蓝色、黄色等),那么您可以查看 HSB 颜色空间的色相环,为您想要定义的每种颜色选择一个色相值,然后将输入中获得的颜色映射到您选择的最接近的颜色。
您还可以依赖诸如命名 HTML 颜色之类的东西:http://www.w3schools.com/html/html_colornames.asp 。获取此列表,在程序中创建一个映射,然后您所要做的就是将获得的颜色映射到映射中最接近的颜色,并返回其名称。但要小心:计算两种颜色之间的距离可能很棘手(尤其是在 RGB 中),而简单的方法(例如逐 channel 差异)可能会产生令人惊讶的糟糕结果。比色法是一个复杂的主题,您可以在此页面上找到很好的方法:http://en.wikipedia.org/wiki/Color_difference
关于java - Java 中的颜色检测器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9394400/
我是 opencv 新手,正在尝试实现两个图像之间的图像匹配。为此,我试图了解特征描述符、描述符提取器和描述符匹配器之间的区别。我遇到了很多术语,并试图在 opencv 文档网站上阅读它们,但我似乎无
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
我正在尝试弄清楚如何使用 findbugs 实现检测器。 此外,我不想创建插件,因为 findbugs 已经具有此功能。 我需要我的检测器来检查对 ClassName.getConnection()
在我的 main.cpp 中有一段摘录: Ptr fastDetector = FastFeatureDetector::create(80, true); while (true) { Ma
我想使用 orb 检测器在找到的图像周围绘制边界框,类似于此处使用筛选检测器的示例:SIFT Refrence Linked 示例使用 FlannBasedMatcher。我的代码使用 BFMatch
SURF默认情况下适用于灰色图像。我正在考虑对 HSV 图像进行 SURF。我的方法是把 channel 分成H、S和V。我用S和V做关键点检测。我试图比较 SV 与 RGB 中的关键点数量,并且在
如何使用 NSXMLDetector 查找 HTML 文件中的 RSS 链接,源代码中的标签如下所示: 我需要这个来自动检测 RSS 应用中的 RSS 链接。谢谢! 最佳答案 在您的两个示例中,您
有没有办法检测排行榜是否关闭? 当点击“highscores”时,排行榜会在很短的时间内加载,您仍然可以点击主 UI。有没有办法在单击“highscores”时停止对主 UI 的任何进一步输入? 我当
我正在使用 OpenCV 3.1 和 Visual Studio C++。 目标 我想检测角点,而不是曲线、矩形或圆形。这意味着,我想找到模糊字符的位置。这里是我感兴趣的领域: 红色区域具有更高的优先
我有一张来自显微镜的图像,需要对其进行分析(隔离 Blob )。我一直在尝试很多方法来对图像进行阈值和过滤,这给了我很好的结果,现在我正在努力获得最好的结果。 我一直在阅读拉普拉斯算子,并应用高斯拉帕
当我尝试运行包含 hog 检测器的 opencv 代码时,出现以下错误。 我一直在使用 OpenCV 做其他事情,我只在包含 hog 时遇到错误。 "Debug Assertion Failed"..
有没有办法在 OpenCV 中指定自定义 SIFT 检测器参数? 似乎FeatureDetector constructor不接受任何参数,而似乎可以在 SIFT constructor 中指定这些参
我正在尝试为 Lint 创建一个自定义规则,这将改变现有的弃用警告测试。 到目前为止我读过的文档几乎没有告诉我如何实现一个类(我认为需要)实现 Detector.JavaScanner http://
我想在opencv中实现一揽子单词。在检测器之后-> detect(img,keypoint);当我想使用keypoint.clear()清理关键点时,会检测到关键点;或者当函数想要返回时,将出现以下
我正在使用 Apache 的 Java 库 Tika(tika-core 版本。1.10)。 是否存在用于 CSV 文件的 org.apache.tika.detect.Detector?MIME 类
我正在运行以下代码: cv::Ptr fastDetector = cv::FastFeatureDetector::create(100, true, 2); cv::Ptr gpuFastDete
我致力于训练自己的 SVM。首先我想要训练它来检测人并将结果与在 opencv 中实现的 SVM 进行比较。训练后 SVM 看起来不错(我创建 xml 文件进行检查)但我无法将 svm 检测器设置
我想知道是否有人成功地使用了 Latent SVM Detector (http://docs.opencv.org/modules/objdetect/doc/latent_svm.html) 的
我正在 OpenCV 2.4 中开发一些代码,我想测试 FREAK 检测器,但出现编译错误。我包含了 feature2d.h,我该怎么做才能解决这个问题? 最佳答案 FREAK 包含在 OpenCV
我有很多使用 Lombok 构建器的带有 @NonNull 字段的类。 @Builder class SomeObject { @NonNull String mandatoryField1;
我是一名优秀的程序员,十分优秀!