You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于R语言提取PCB缺陷分类所需的特定特征颜色

PCB缺陷分类的特征颜色筛选

需求背景

现有一张含缺孔缺陷(missing hole defect)的PCB图片,以及需识别的PCB缺陷类型列表图片。为实现PCB缺陷分类,需从提取的图片颜色数据中,筛选出缺陷类型图里识别出的3种特征颜色。

使用colorfindr提取图片颜色示例

通过R语言的colorfindr工具可提取图片中的颜色,示例代码及输出结果如下:

library(colorfindr)
# 目标图片路径
img_path="C:/Users/Rayane_2/Desktop/Data/PCB1/PCB/images/Mouse_bite/01_mouse_bite_04.jpg"
# 提取图片中出现频率前20的颜色
colorfindr::get_colors(img_path,top_n=20)

输出结果:

# A tibble: 20 × 3
   col_hex col_freq col_share
   <chr>      <int>     <dbl>
 1 #005B0C    31106   0.00646
 2 #005B0E    29117   0.00605
 3 #01590B    27768   0.00577
 4 #005A0B    24135   0.00502
 5 #015C0D    23771   0.00494
 6 #00580A    22397   0.00465
 7 #005B0B    21529   0.00447
 8 #00560F    21476   0.00446
 9 #005A0D    21324   0.00443
10 #025A0C    21191   0.00440
11 #01590D    21026   0.00437
12 #005709    20009   0.00416
13 #00580E    19063   0.00396
14 #005909    18666   0.00388
15 #015C0F    18450   0.00383
16 #025A0E    17979   0.00374
17 #015710    16621   0.00345
18 #01590F    16619   0.00345
19 #00580C    16546   0.00344
20 #005A0A    15614   0.00324

筛选目标特征颜色

假设从缺陷类型图中识别出的3种特征颜色为#XXXXXX、#YYYYYY、#ZZZZZZ(替换为实际识别的颜色值),可通过以下代码从提取的tibble数据集中筛选对应颜色:

library(dplyr)

# 定义目标特征颜色向量
target_colors <- c("#XXXXXX", "#YYYYYY", "#ZZZZZZ")

# 提取颜色并筛选
extracted_colors <- colorfindr::get_colors(img_path, top_n=20)
filtered_colors <- extracted_colors %>%
  filter(col_hex %in% target_colors)

# 查看筛选结果
print(filtered_colors)

补充说明

如果提取的颜色存在细微色差(比如RGB值略有差异),可通过计算颜色相似度匹配,使用colorfindr的compare_colors()函数或自定义色差计算逻辑实现。

内容的提问来源于stack exchange,提问作者Tou Mou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 06:10:37