[UG 二次开发 python ] 截图,并用 opencv 显示出来
需要 numpy,cv2
截图,去除背景,只显示主要部分
# nx: threaded
from typing import Dict
import NXOpen
import numpy as np
import cv2
def main():
theUI = NXOpen.UI.GetUI()
b = theUI.CreateImageExportBuilder()
b.RegionMode = False
b.FileFormat = NXOpen.Gateway.ImageExportBuilder.FileFormats.Jpg
path = f"d:\\tmp\\_tmp.jpg"
b.FileName = path
b.BackgroundOption = NXOpen.Gateway.ImageExportBuilder.BackgroundOptions.CustomColor
b.SetCustomBackgroundColor([1.0, 1.0, 1.0])
b.EnhanceEdges = True
b.Commit()
b.Destroy()
x = cv2.imread(path)
x2 = cv2.cvtColor(x, cv2.COLOR_BGR2GRAY)
x2 = 255 - x2
cts, hirs = cv2.findContours(x2, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
ct = max(cts, key=cv2.contourArea)
rct = cv2.boundingRect(ct)
aymin = rct[0]
aymax = rct[0] + rct[2]
axmin = rct[1]
axmax = rct[1] + rct[3]
print(rct)
print(x.shape)
print([axmin, axmax, aymin, aymax])
y = x[axmin:axmax, aymin:aymax]
cv2.namedWindow("im")
cv2.imshow("im", y)
cv2.waitKey()
cv2.destroyAllWindows()
if __name__ == "__main__":
main()
[UG 二次开发 python ] 截图,并用 opencv 显示出来的更多相关文章
- 【转】Jenkins 二次开发 - Python
马克,备用: Jenkins 二次开发 https://testerhome.com/topics/14988?locale=zh-TW python-jenkins api 文档:https://p ...
- UG二次开发-CAM-获取修改路径参数
项目中要获取路径参数,网上大多是C++的例子,而本项目是用C#写的,探索了下,记录下. 以获取某条路径的刀具号为例,其他参数依此类推. using System; using System.Colle ...
- 【UG二次开发】获取系统信息UF_ask_system_info
获取系统信息可以使用这个函数UF_ask_system_info 下面是例子: 1 extern DllExport void ufsta(char *param, int *returnCode, ...
- UG二次开发-CAM-执行方式
以C#开发为例,通常先用[操作记录]功能录制关键代码,得到一个.cs文件. (1)可以直接使用[播放操作记录]的方式执行该.cs文件. (2)可以建立一个C#的类库工程,将上述.cs文件加载进去,添加 ...
- cropper.js 二次开发:截图并下载图片
cropper.js 是一个基于jquery的图片截取库. 参考:https://blog.csdn.net/weixin_38023551/article/details/78792400 我的代码 ...
- 【UG二次开发】 UF_OBJ_ask_name 获取对象名字
代码 char name[256]; UF_OBJ_ask_name(objTag, name);
- 【UG二次开发】获取对象类型 UF_OBJ_ask_type_and_subtype
代码: int type=0, subtype=0; UF_OBJ_ask_type_and_subtype(objTag, &type, &subtype);
- 【UG二次开发】装配设计
与装配相关的术语 tag 部件或对象的标识,还可能是部件原型.实例和事例 piece part 单个部件 occurrence 部件或对象的事例,装配中的是部件事例 object occurrence ...
- 【UG二次开发】创建、查询、编辑成型特征的函数
创建成型特征函数UF_MODL_create_boss 通过设置凸台的参数建立凸台特征UF_MODL_create_rect_pad 通过设置矩形凸垫的参数建立矩形凸垫特征UF_MODL_create ...
- UG二次开发-内存访问违例
在项目中修改路径参数后重算发生了内存访问违例的错误,经过调试,发现是下面这一行出的错 surfaceContourBuilder1.Commit(); 经过反复调试,发现这个东西不能随便放,不可以想当 ...
随机推荐
- maven的环境配置
将maven压缩包解压到一个空文件夹中.比如:D盘中的maven文件夹(D:\maven\apache-maven-3.6.3) 注意:路径中不要包含中文.空格.数字等字符 2.新建变量名: MAVE ...
- ubuntu安装 vmware workstation pro 15.1.1
BIOS开启虚拟化 如果没有就参考下面的连接地址设置 http://robotrs.lenovo.com.cn/ZmptY2NtYW5hZ2Vy/p4data/Rdata/Rfiles/726.htm ...
- html布局浅谈
现在布局方式主要分为三种 传统css布局方案(position,float,line-height等配合).实现复杂,需要多种属性配合使用,兼容性最好. flex布局方案.弹性布局,实现方便,兼容性较 ...
- 记录一次uniapp使用scrollview
在uni-app框架下,使用scroll-view进行下拉加载时,不要设置 scroll-top 或者 scroll-left 否则会出现,页面抖动的情况
- 密码学—DES加密算法
文章目录 DES流程 DES细节 生成密钥 DES加密 E盒扩展 S盒替换 P盒置换 DES流程 因为DES是对比特流进行加密的,所以信息在加密之前先转为二进制比特流 1:生成16把密钥 只取给出的密 ...
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(12.A)- uSDHC eMMC启动时间(RT1170)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT1170 uSDHC eMMC启动时间. 本篇是 i.MXRT1170 启动时间评测第五弹,前四篇分别给大家评测了 ...
- k8s多集群切换:使用kubeconfig文件管理多套kubernetes(k8s)集群
目录 一.系统环境 二.前言 三.kubeconfig文件 四.kubernetes(k8s)多集群切换 一.系统环境 服务器版本 docker软件版本 CPU架构 CentOS Linux rele ...
- PHP做api开发时,签名验证你是怎么设计的
开发过程中,我们经常会与接口打交道,有的时候是调取别人网站的接口,有的时候是为他人提供自己网站的接口,但是在这调取的过程中都离不开签名验证. 我们在设计签名验证的时候,请注意要满足以下几点: 可变性: ...
- 基于 ESP8266_RTOS_SDK 驱动 DHT11
概述 DHT11模块使用一根data线实现信号触发以及数据反馈,信号格式参考如下 https://zhuanlan.zhihu.com/p/347904660 本文使用GPIO中断的方式采集反馈数据 ...
- c++ lambda学习举例
#include <iostream> #include<vector> #include<algorithm> #include<cmath> #in ...