标记指定颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标记指定颜色相关的知识,希望对你有一定的参考价值。

参考技术A

  在HSV色彩空间中,H通道对应不同的颜色。或者换个角度理解,颜色的差异主要体现在H通道值的不同上。所以,通过对H通道值进行筛选,便能够筛选出特定的颜色。

  本节将首先通过例题展示一些实现上的细节问题,然后通过具体例题展示如何将图像内的特定颜色标记出来,即将一幅图像内的其他颜色屏蔽,仅仅将特定颜色显示出来。

  OpenCV中通过函数cv2.inRange()来判断图像内像素点的像素值是否在指定的范围内,其语法格式为:

返回的结果dst可以理解为一个掩码数组,其大小与原始数组一致。

  将不感兴趣区域以黑色显示,可以通过设置掩码的方式将该区域的值置为0来实现。

【例4.9】分别提取OpenCV的logo图像内的红色、绿色、蓝色。
需要注意:

根据上述分析,各种颜色的HSV区间值分布在[H-10,100,100]和[H+10,255,255]之间。因此,各种颜色值的范围为:
● 蓝色:值分布在[110,100,100]和[130,255,255]之间。
● 绿色:值分布在[50,100,100]和[70,255,255]之间。
● 红色:值分布在[0,100,100]和[10,255,255]之间。

  首先利用函数cv2.inRange()查找指定颜色区域,然后利用基于掩码的按位与运算将指定颜色提取出来。

情节标记图例在情节上多次出现

【中文标题】情节标记图例在情节上多次出现【英文标题】:Plotly marker legend appears multiple times on plot 【发布时间】:2021-12-26 20:02:19 【问题描述】:

我有一个条形图,条形图根据因子变量着色。我需要在指定位置的每个条上放置一个目标标记。我可以毫无问题地将标记放置在图上,但在图例中,目标标记出现了 3 次,而我只希望它出现一次。我相信这种行为与条形的颜色有关,但这种颜色是必须保留的。谁能给我一个解决方案,让目标标记只出现在图例上一次?

library(tidyverse)
library(plotly)

data.frame(grp = c("x", "y", "z") %>% as.factor,
           vals = c(10, 15, 20)) %>% 
  plot_ly(
    x = ~vals,
    y = ~grp,
    color = ~grp,
    colors = c("red", "green", "blue"),
    type = "bar"
  ) %>% 
  add_markers(name = "target",
              x = 17,
              marker = list(
                color = "black")
              )

【问题讨论】:

【参考方案1】:

plot_ly 中的参数将被设置为所有跟踪,只要没有被覆盖。在您的情况下,plot_ly 函数中的color = ~grp 将按grp 对每个跟踪进行分组。

一个简单的选择是在自己的跟踪中定义带有颜色的条。

代码

data.frame(grp = c("x", "y", "z") %>% as.factor,
           vals = c(10, 15, 20)) %>% 
  plot_ly(
    x = ~vals,
    y = ~grp
  ) %>% 
  add_bars(color = ~grp,
           colors = c("red", "green", "blue")) %>%
  add_markers(name = "target",
              x = 17,
              marker = list(
                color = "black")
  )

在此代码中,x 和 y 由条形和标记共享,但颜色在每个跟踪中单独定义。因此,您可以获得条形图的单个图例和标记的单个图例。

剧情

【讨论】:

以上是关于标记指定颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何用matlab 画散点图 如何标记数据点的颜色

情节标记图例在情节上多次出现

如何更改select option 边框颜色和选中的颜色,css优先,js次之??

生成一个指定颜色,指定大小的圆

使用poi如何设置指定单元格的颜色

如果颤动中没有指定颜色,标签文本和前缀图标采用啥颜色(默认颜色)?