当前位置: 首页 > news >正文

Halcon随机贴图生成缺陷图片脚本

halcon随机贴图生成缺陷图片,用于深度学习训练:

read_image (Image, 'C:/Users/61082/Desktop/bentiiamge/omron/S06-1211/ok/ok_images/D246B_CPFNNUBA8LT0SX_AAA_S2412001793_C1216_1733895885320066.jpg')
get_image_size (Image, Width, Height)
gen_rectangle1 (Rectangle, 22, 17, 89, 47)
reduce_domain (Image, Rectangle, ImageReduced)
crop_domain (ImageReduced, ImagePart)
for i:=0 to 100 by 1Rand:=rand(3)paster_Row:=int(Rand[0]*Height)paster_Col:=int(Rand[1]*Width)Angle:=int(Rand[2]*360)minImageWidth:=sqrt(Width*Width+Height*Height)minImageHeight:=sqrt(Width*Width+Height*Height)vector_angle_to_rigid ( Height/2,Width/2, 0, minImageHeight/2, minImageHeight/2, rad(Angle), HomMat2D)*获取图像的通道数count_channels (ImagePart, Channels)*如果是单通道图像if (Channels==1)*生成一个画布gen_image_const (Image1, 'byte', minImageWidth, minImageHeight)*将image放到画布上overpaint_gray (Image1, ImagePart)*图片旋转affine_trans_image (Image1, ImageAffineTrans, HomMat2D, 'constant', 'false')get_image_size (ImageAffineTrans, Width1, Height1)dev_clear_window ()dev_display (ImageAffineTrans)*如果是三通道彩色图像endif if (Channels==3)*分解三通道图像decompose3 (ImagePart, Image11, Image2, Image3)*生成三个画布gen_image_const (Image4, 'byte', minImageWidth, minImageHeight)gen_image_const (Image5, 'byte', minImageWidth, minImageHeight)gen_image_const (Image6, 'byte', minImageWidth, minImageHeight)*依次将三个单通道图像overpaint到画布上overpaint_gray (Image4, Image11)overpaint_gray (Image5, Image2)overpaint_gray (Image6, Image3)*仿射变换单通道图像affine_trans_image (Image4, ImageAffineTrans1, HomMat2D, 'constant', 'false')affine_trans_image (Image5, ImageAffineTrans2, HomMat2D, 'constant', 'false')affine_trans_image (Image6, ImageAffineTrans3, HomMat2D, 'constant', 'false')*三个单通道图像合成彩色图像compose3 (ImageAffineTrans1, ImageAffineTrans2, ImageAffineTrans3, rotateImage)dev_clear_window ()dev_display (rotateImage)endifdev_update_off ()*rgb分离decompose3 (Image, ImageR, ImageG, ImageB)decompose3 (rotateImage, ImagePartR, ImagePartG, ImagePartB)*小图去背景threshold (ImagePartR, Regions1, 210, 255)connection (Regions1, ConnectedRegions2)select_shape_std (ConnectedRegions2, SelectedRegions3, 'max_area', 70)fill_up (SelectedRegions3, SelectedRegions3)smallest_rectangle1 (SelectedRegions3, Row1, Column1, Row2, Column2)get_region_points (SelectedRegions3, oriPartRows, oriPartColumns)count:=|oriPartRows|subRs:=gen_tuple_const(count, Row1)subCs:=gen_tuple_const(count, Column1)PartRows:=oriPartRows-subRsPartColumns:=oriPartColumns-subCsif ((paster_Row+(Row2-Row1)>=Height) or (paster_Col+(Column2-Column1)>=Width))continueendifstartRs:=gen_tuple_const(count, paster_Row)startCs:=gen_tuple_const(count, paster_Col)*将所有像素坐标加上偏移量Rows:=startRs+PartRowsCols:=startCs+PartColumns*r绘制get_grayval (ImagePartR, oriPartRows, oriPartColumns, Grayval)copy_image (ImageR, DupImageR)set_grayval (DupImageR, Rows, Cols, Grayval)*g绘制get_grayval (ImagePartG, oriPartRows, oriPartColumns, Grayval1)copy_image (ImageG, DupImageG)set_grayval (DupImageG, Rows, Cols, Grayval1)*b绘制get_grayval (ImagePartB, oriPartRows, oriPartColumns, Grayval2)copy_image (ImageB, DupImageB)set_grayval (DupImageB, Rows, Cols, Grayval2)compose3 (DupImageR, DupImageG, DupImageB, MultiChannelImage)dev_clear_window()dev_display(MultiChannelImage)wait_seconds(1)
endfor

相关文章:

Halcon随机贴图生成缺陷图片脚本

halcon随机贴图生成缺陷图片,用于深度学习训练: read_image (Image, C:/Users/61082/Desktop/bentiiamge/omron/S06-1211/ok/ok_images/D246B_CPFNNUBA8LT0SX_AAA_S2412001793_C1216_1733895885320066.jpg) get_image_size (Image, Width, Height) gen_rectangle1 …...

[ZMQ] -- ZMQ通信Protobuf数据结构 1

1、前言背景 工作需要域间实现zmq通信,刚开始需要比较简单的数据结构,比如两个bool,后面可能就需要传输比较大的数据,所以记录下实现流程,至于为啥选择proto数据结构去做大数据传输,可能是地平线也用这个&…...

大数据平台

大数据行业应用持续升温,特别是企业级大数据市场正在进入快速发展时期。越来越多的企业期望实现数据孤岛的打通,整合海量的数据资源,挖掘并沉淀有价值的数据,进而驱动更智能的商业。随着公司数据爆发式增长,原有的数据…...

《C++解锁机器学习特征工程:构建智能数据基石》

在当今机器学习蓬勃发展的浪潮中,特征工程犹如一座坚实的基石,奠定了模型成功的基础。而 C以其卓越的性能和强大的底层控制能力,在实现机器学习特征工程方面发挥着独特且关键的作用。 特征工程的核心目标是从原始数据中提取和构建最具代表性…...

《机器学习》3.7-4.3end if 启发式 uci数据集klda方法——非线性可分的分类器

目录 uci数据集 klda方法——非线性可分的分类器 计算 步骤 1: 选择核函数 步骤 2: 计算核矩阵 步骤 4: 解广义特征值问题 と支持向量机(svm) 目标: 方法: 核技巧的应用: 区别: 使用 OvR MvM 将…...

【Linux】VMware 安装 Ubuntu18.04.2

ISO镜像安装步骤 选择语言 English 选择键盘布局 English 选择系统 Ubuntu 虚拟机网卡地址,默认即可 代理地址,默认空即可 镜像地址,修改成阿里云地址 选择第二项,LVM 磁盘扩容技术 第一块硬盘名sda,默认…...

人员离岗监测摄像机智能人员睡岗、逃岗监测 Python 语言结合 OpenCV

在安全生产领域,人员的在岗状态直接关系到生产流程的顺利进行和工作环境的安全稳定。人员离岗监测摄像机的出现,为智能人员睡岗、逃岗监测提供了高效精准的解决方案,而其中的核心技术如AI识别睡岗脱岗以及相关的算法盒子和常见的安全生产AI算…...

【Spark】Spark数据倾斜解决方案、大表join小表及大表join大表优化思路

如果觉得这篇文章对您有帮助,别忘了点赞、分享或关注哦!您的一点小小支持,不仅能帮助更多人找到有价值的内容,还能鼓励我持续分享更多精彩的技术文章。感谢您的支持,让我们一起在技术的世界中不断进步! Sp…...

探索 Cesium 的未来:3D Tiles Next 标准解析

探索 Cesium 的未来:3D Tiles Next 标准解析 随着地理信息系统(GIS)和 3D 空间数据的快速发展,Cesium 作为领先的开源 3D 地球可视化平台,已成为展示大规模三维数据和进行实时渲染的强大工具。近年来,随着…...

每日一站技術架構解析之-cc手機桌布網

# 網站技術架構解析: ## 一、整體架構概述https://tw.ccwallpaper.com是一個提供手機壁紙、桌布免費下載的網站,其技術架構設計旨在實現高效的圖片資源管理與用戶訪問體驗優化。 ### (一)前端展示 1. **HTML/CSS/JavaScript基礎構…...

prometheus监控之黑盒(blackbox)监控

1.简单介绍 blackbox-exporter项目地址:https://github.com/prometheus/blackbox_exporter blackbox-exporter是Prometheus官方提供的一个黑盒监控解决方案,blackbox-exporter无须安装在被监控的目标环境中,用户只需要将其安装在与Promethe…...

计算机网络之传输层协议TCP

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 计算机网络之传输层协议TCP 收录于专栏【计算机网络】 本专栏旨在分享学习计算机网络的一点学习笔记,欢迎大家在评论区交流讨论💌 目…...

子查询与嵌套查询

title: 子查询与嵌套查询 date: 2024/12/13 updated: 2024/12/13 author: cmdragon excerpt: 子查询和嵌套查询是关系型数据库中强大的查询工具,允许用户在一个查询的结果中再进行查询。通过使用子查询,用户能够简化复杂的SQL语句,增强查询的灵活性和可读性。本节将探讨子…...

GPT-SoVITS语音合成模型部署及使用

1、概述 GPT-SoVITS是一款开源的语音合成模型,结合了深度学习和声学技术,能够实现高质量的语音生成。其独特之处在于支持使用参考音频进行零样本语音合成,即使没有直接的训练数据,模型仍能生成相似风格的语音。用户可以通过微调模…...

springboot423玩具租赁系统boot(论文+源码)_kaic

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装玩具租赁系统软件来发挥其高效地信息处理的作用&#xff0c…...

【收藏】Cesium 限制相机倾斜角(pitch)滑动范围

1.效果 2.思路 在项目开发的时候,有一个需求是限制相机倾斜角,也就是鼠标中键调整视图俯角时,不能过大,一般 pitch 角度范围在 0 至 -90之间,-90刚好为正俯视。 在网上查阅了很多资料,发现并没有一个合适的…...

Jenkins流水线初体验(六)

DevOps之安装和配置 Jenkins (一) DevOps 之 CI/CD入门操作 (二) Sonar Qube介绍和安装(三) Harbor镜像仓库介绍&安装 (四) Jenkins容器使用宿主机Docker(五) Jenkins流水线初体验(六) 一、Jenkins流水线任务介绍 之前采用Jenkins的自由风格构建的项目,每个步骤…...

Azure OpenAI 生成式人工智能白皮书

简介 生成式 AI 成为人工智能领域新的关键词。吸纳从机器智能到机器学习、深度学习的关键技术生成式 AI更进一步,能够根据提示或现有数据创建新的书面、视觉和听觉内容。在此基础上大模型和大模型应用一时涌现,并迅速确立AI落地新范式。据 data.ai inte…...

Ubuntu22.04安装docker desktop遇到的bug

1. 确认已启用 KVM 虚拟化 如果加载了模块,输出应该如下图。说明 Intel CPU 的 KVM 模块已开启。 否则在VMware开启宿主机虚拟化功能: 2. 下一步操作: Ubuntu | Docker Docs 3. 启动Docker桌面后发现账户登陆不上去: Sign in | …...

LLMC:大语言模型压缩工具的开发实践

关注:青稞AI,学习最新AI技术 青稞Talk主页:qingkelab.github.io/talks 大模型的进步,正推动我们向通用人工智能迈进,然而庞大的计算和显存需求限制了其广泛应用。模型量化作为一种压缩技术,虽然可以用来加速…...

如何轻松地使用隔空投送将iPhone内容传输到Android

过去,安卓和苹果用户在设备间共享文件一直很麻烦。然而,如今迎来了一个重大转折点——我们可以使用 AirDrop 将 iPhone 文件传输到安卓设备。尽管这项功能已经发布几天了,但很多人仍然不知道如何从 iPhone 向安卓设备发送 AirDrop 文件。现在…...

Linux内核配置入门:手把手教你玩转make menuconfig图形化界面

Linux内核配置入门:手把手教你玩转make menuconfig图形化界面 在Linux内核开发的世界里,内核配置是一个绕不开的关键环节。对于初学者来说,面对庞大的内核源代码和复杂的配置选项,往往会感到无从下手。而make menuconfig作为Linux…...

如何解决文件乱码难题?编码检测工具助你实现文本编码精准识别与转换

如何解决文件乱码难题?编码检测工具助你实现文本编码精准识别与转换 【免费下载链接】EncodingChecker A GUI tool that allows you to validate the text encoding of one or more files. Modified from https://encodingchecker.codeplex.com/ 项目地址: https:…...

Win11Debloat:解放你的Windows系统,5分钟焕新极简体验

Win11Debloat:解放你的Windows系统,5分钟焕新极简体验 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declu…...

从漏洞到落地:OpenSSH 10.3 完整攻略(一文读懂本次更新的核心变革、行业影响与落地指南)

作为全球应用最广泛的SSH协议开源实现,OpenSSH是互联网远程访问基础设施的核心基石——从全球顶级云厂商的百万级服务器集群,到企业内网的网络设备、嵌入式终端,再到开发者的日常远程调试,几乎所有加密远程访问场景都依赖其构建安…...

重庆思庄技术分享——金仓数据库如何手工删除归档日志

金仓数据库如何手工删除归档日志ORACLE有 rman >delete archivelog until sequence# xx那么金仓数据库有类似的功能没有?答案是肯定的,使用sys_archivecleanup...

【Matlab】综合能源系统多能流优化调度

【Matlab】综合能源系统多能流优化调度 一、引言 在“双碳”目标与能源结构转型的双重驱动下,综合能源系统(Integrated Energy System, IES)作为整合电力、热力、天然气、冷能等多种能源形式的新型能源载体,凭借“多能互补、协同优化”的核心优势,成为破解能源供需矛盾、…...

AI驱动的下一代云ERP:SAP Cloud ERP 2602 更新亮点小结

大家好,SAP Cloud ERP 2602版本更新了!2602的一个核心特点,是在保持标准化 SaaS 的前提下,将“嵌入式 AI 自然语言交互 Agentic AI”有机结合,让用户可以在熟悉的业务流程中,以对话方式完成信息查询、数据…...

RexUniNLU部署教程:基于ModelScope的轻量级NLU框架一键启动指南

RexUniNLU部署教程:基于ModelScope的轻量级NLU框架一键启动指南 无需标注数据,定义即识别:用最简单的标签定义实现智能对话理解 1. 快速了解RexUniNLU 你是否遇到过这样的困扰:想要做一个智能对话系统,却苦于没有标注…...

LoongArch CPU设计中的内存接口实战:conver_ram.v模块详解与inout端口避坑指南

LoongArch CPU内存接口实战:conver_ram.v模块设计与三态总线控制精要 在CPU微架构设计中,内存子系统如同城市交通枢纽,其效率直接影响整体性能。本文将深入剖析LoongArch架构中BaseRAM/ExtRAM接口模块conver_ram.v的设计要点,特别…...