惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
博客园 - 司徒正美
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - Franky
B
Blog
V
V2EX
J
Java Code Geeks
D
Docker
博客园 - 叶小钗
The Cloudflare Blog
量子位
博客园_首页
MongoDB | Blog
MongoDB | Blog

又见苍岚

COLMAP PatchMatch Stereo 算法详解 事件驱动的状态机框架:从理论到工程实践 Git 在国内网络环境下无法 Push 的排查与修复 —— 配置 Clash 代理 分段五次多项式插值原理详解 路径插值方法深度对比研究 Claude Code 使用指南 OpenClaw 记忆管理与技能创建指南 CBS(Conflict-Based Search)算法详解 A* 算法及其变种详解 OpenClaw 配置多 Agents Windows Powershell 无法加载文件,因为在此系统上禁止运行脚本问题的解决方案 MaxClaw 安装流程 大模型 AI 名词介绍 AList 网盘聚合工具简介 Protobuf 简介与测试 Claude Code 简介以及 GLM 4.7 模型接入 Github 歌词下载工具 163MusicLyrics Python __getattr__ 懒加载 Python TypedDict 机器人仿真平台 Gazebo 安装记录 机器人仿真平台 Gazebo 简介 多机器人路径规划问题(Multi-Agent Path Finding, MAPF)简介 Python exifread 读取修改过的 jpeg 信息错误问题修复 3D 坐标系变换的理解 3D 旋转矩阵基本概念 MongoDB Compass 介绍 Python 环境管理工具 uv Flutter 开发指南 Snipaste 安装下载与黑屏问题解决方案 全局路径规划算法记录
Halcon 进行基于深度学习的异常检测
Yiwei Zhang · 2024-01-10 · via 又见苍岚
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116

list_image_files (train_dir, 'default', [], ImageFiles)

train_samples := []

image_width := image_size[0]
image_height := image_size[1]

for Index := 0 to |ImageFiles|-1 by 1

image_path := ImageFiles[Index]
create_dict (sample_info)
set_dict_tuple (sample_info, 'image_id', Index)
set_dict_tuple (sample_info, 'anomaly_label', 'ok')
set_dict_tuple (sample_info, 'anomaly_label_id', 0)
read_image (Image, image_path)
convert_image_type (Image, Image, 'real')

if (Index < 1)
image_sum := Image
else
add_image (Image, image_sum, image_sum, 1, 0)
endif

endfor

sub_image (image_sum, image_sum, Imagezero, 1, |ImageFiles|)

div_image (image_sum, Imagezero, ImageResult, 1, 0)

count_channels (ImageResult, Channels)

* 初始化均值和方差列表
MeanValues := []
DeviationValues := []

if (Channels == 3)
* 处理彩色图像
decompose3(ImageResult, Image1, Image2, Image3)

else
Image1 := ImageResult
Image2 := ImageResult
Image3 := ImageResult
endif

gen_empty_obj (EmptyObject)

concat_obj (EmptyObject, Image1, EmptyObject)
concat_obj (EmptyObject, Image2, EmptyObject)
concat_obj (EmptyObject, Image3, EmptyObject)

* 计算每个通道的均值和标准差
for ChannelIndex := 1 to 3 by 1
select_obj (EmptyObject, ObjectSelected, ChannelIndex)
intensity(ObjectSelected, ObjectSelected, Mean, Deviation)
MeanValues := [MeanValues, Mean]
DeviationValues := [DeviationValues, Deviation]
endfor

create_dict (data_param)
set_dict_tuple (data_param, 'DeviationValues', DeviationValues)
set_dict_tuple (data_param, 'MeanValues', MeanValues)

for Index := 0 to |ImageFiles|-1 by 1

image_path := ImageFiles[Index]
create_dict (sample_info)
set_dict_tuple (sample_info, 'image_id', Index)
set_dict_tuple (sample_info, 'anomaly_label', 'ok')
set_dict_tuple (sample_info, 'anomaly_label_id', 0)

read_image (Image, image_path)
convert_image_type (Image, Image, 'real')
zoom_image_size (Image, Image, image_width, image_height, 'bilinear')

count_channels (Image, Channels)

if (Channels == 3)
* 处理彩色图像
decompose3(Image, Image1, Image2, Image3)
else
Image1 := Image
Image2 := Image
Image3 := Image
endif

gen_empty_obj (ImageScaled)

Scale1 := 1.0 / DeviationValues[0]
Shift1 := - Scale1 * MeanValues[0]
scale_image (Image1, ImageScaled1, Scale1, Shift1)
append_channel (ImageScaled, ImageScaled1, ImageScaled)

Scale2 := 1.0 / DeviationValues[1]
Shift2 := - Scale1 * MeanValues[1]
scale_image (Image2, ImageScaled2, Scale2, Shift2)
append_channel (ImageScaled, ImageScaled2, ImageScaled)

Scale3 := 1.0 / DeviationValues[2]
Shift3 := - Scale3 * MeanValues[2]
scale_image (Image3, ImageScaled3, Scale3, Shift3)
append_channel (ImageScaled, ImageScaled3, ImageScaled)

gen_empty_obj (ImagesScaled)
concat_obj (ImagesScaled, ImageScaled, ImagesScaled)

set_dict_object (ImagesScaled, sample_info, 'image')

train_samples :=[train_samples, sample_info]
endfor

return ()