需要 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 显示出来的更多相关文章

  1. 【转】Jenkins 二次开发 - Python

    马克,备用: Jenkins 二次开发 https://testerhome.com/topics/14988?locale=zh-TW python-jenkins api 文档:https://p ...

  2. UG二次开发-CAM-获取修改路径参数

    项目中要获取路径参数,网上大多是C++的例子,而本项目是用C#写的,探索了下,记录下. 以获取某条路径的刀具号为例,其他参数依此类推. using System; using System.Colle ...

  3. 【UG二次开发】获取系统信息UF_ask_system_info

    获取系统信息可以使用这个函数UF_ask_system_info 下面是例子: 1 extern DllExport void ufsta(char *param, int *returnCode, ...

  4. UG二次开发-CAM-执行方式

    以C#开发为例,通常先用[操作记录]功能录制关键代码,得到一个.cs文件. (1)可以直接使用[播放操作记录]的方式执行该.cs文件. (2)可以建立一个C#的类库工程,将上述.cs文件加载进去,添加 ...

  5. cropper.js 二次开发:截图并下载图片

    cropper.js 是一个基于jquery的图片截取库. 参考:https://blog.csdn.net/weixin_38023551/article/details/78792400 我的代码 ...

  6. 【UG二次开发】 UF_OBJ_ask_name 获取对象名字

    代码 char name[256]; UF_OBJ_ask_name(objTag, name);

  7. 【UG二次开发】获取对象类型 UF_OBJ_ask_type_and_subtype

    代码: int type=0, subtype=0; UF_OBJ_ask_type_and_subtype(objTag, &type, &subtype);

  8. 【UG二次开发】装配设计

    与装配相关的术语 tag 部件或对象的标识,还可能是部件原型.实例和事例 piece part 单个部件 occurrence 部件或对象的事例,装配中的是部件事例 object occurrence ...

  9. 【UG二次开发】创建、查询、编辑成型特征的函数

    创建成型特征函数UF_MODL_create_boss 通过设置凸台的参数建立凸台特征UF_MODL_create_rect_pad 通过设置矩形凸垫的参数建立矩形凸垫特征UF_MODL_create ...

  10. UG二次开发-内存访问违例

    在项目中修改路径参数后重算发生了内存访问违例的错误,经过调试,发现是下面这一行出的错 surfaceContourBuilder1.Commit(); 经过反复调试,发现这个东西不能随便放,不可以想当 ...

随机推荐

  1. 模型微调-书生浦语大模型实战营学习笔记4&大语言模型7

    大语言模型-7.模型微调 书生浦语大模型实战营学习笔记-4.模型微调 本节对应的视频教程为B站链接.笔记对视频的理论部分进行了整理.部分内容参考李宏毅2024春<生成式人工智能导论>和三分 ...

  2. vue03 01.vite创建项目

    目录 01.创建项目 打包工具 vite介绍 安装命令 安装项目依赖 启动项目 浏览效果 代码目录 打包 预览运行 插件使用 编辑器 01.创建项目 打包工具 vite官网 vite创建项目 vite ...

  3. 运行程序时报go: cannot find main module, but found .git/config in

    编写单元测试,运行时报下面的错误 haima@haima-PC:/media/haima/34E401CC64DD0E28/site/go/src/haimait/learn/base/cheshi0 ...

  4. Java简单实现MQ架构和思路01

    实现一个 MQ(消息队列)架构可以涉及到很多方面,包括消息的生产和消费.消息的存储和传输.消息的格式和协议等等.下面是一个简单的 MQ 架构的实现示例,仅供参考: 定义消息格式和协议:我们可以定义一个 ...

  5. Lua热更学习--使用toLua中的协程

    [6] C#访问调table类中的成员变量和函数 访问table中的变量和函数 lua中可以使用table作为class,因此对table中的函数访问调用是必要的根据前面对table访问和functi ...

  6. C数据结构:KMP算法详解(呕心沥血)

    KMP算法 作者心声 了解暴力求解(必需会) KMP算法详解 记住我这段话(你会爱上它的)← : ①前后缀及其用处 ②求出前后缀的next数组 求出next数组的代码 开始实现KMP算法 结尾 附上源 ...

  7. uniapp-vue3-oadmin手机后台实例|vite5.x+uniapp多端仿ios管理系统

    原创vue3+uniapp+uni-ui跨端仿ios桌面后台OA管理模板Uni-Vue3-WeOS. uniapp-vue3-os一款基于uni-app+vite5.x+pinia等技术开发的仿ios ...

  8. uniapp android app 铃声静音,真正的免打扰

    需要加入这个权限: <uses-permission android:name=\"android.permission.ACCESS_NOTIFICATION_POLICY\&quo ...

  9. Django - 在后台上传文章封面图 - 并在前端页面展示

    需要用到 models.ImageField(), 它继承自 models.FileField(),  用ImageField的时候需要安装pillow pip install pillow -i h ...

  10. 一个简易的录屏demo

    MyScreenRecord.cpp //#define LOG_NODEBUG 0 #define LOG_TAG "myrecord" #include <signal. ...