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

常用网站设置全国最大工地招工网

常用网站设置,全国最大工地招工网,wordpress 新页面跳转,网站城市切换代码最近有接触过一丢丢VM4.3的模块开发. 一直有把python图像处理部分模块移植进来的打算 不过时间不够没来得及折腾.偶尔发现4.4支持py脚本 于是拿来折腾.一下午. 发现4.4支持python脚本,好开心. 首先安装VM4.4 注意一定要是4.4 打开后拖了一个模块. 但是发现import numpy imp…最近有接触过一丢丢VM4.3的模块开发. 一直有把python图像处理部分模块移植进来的打算 不过时间不够没来得及折腾.偶尔发现4.4支持py脚本 于是拿来折腾.一下午. 发现4.4支持python脚本,好开心. 首先安装VM4.4 注意一定要是4.4 打开后拖了一个模块. 但是发现import numpy import cv2 都报错. python没有这些怎么玩? 咱好歹自学过几天python 不能放弃吧? 于是抱着试一试的态度? 开始以为路径是 C:\Program Files\VisionMaster4.4.0\Applications\Module(sp)\x64\Logic\PyShellModule 后来搜索感觉是这里: C:\Program Files\VisionMaster4.4.0\Applications\ModuleProxy\x64python.exeC:\Program Files\VisionMaster4.4.0\Applications\ModuleProxy\x64\Scripts pip.exe好了,在这里按住shift右击 在此处打开powershell窗口 输入cmd 然后 尝试性的在此文件夹里 pip install numpy 当运行 import numpy as np 发现已经不报错了. 好了 现在直接在这个窗口:安装 pip install numpy pip install opencv-python pip install pillow pip install matplotlib # 我暂时只需要这么多 够用 你也可以安装别的 哈哈: 接下来又遇到难题: 官方文档只介绍输入输出图像的结构体: 没有示例程序.难搞. 结构体定义如下: # 图像数据 class ImageData:def __init__(self):self.width Noneself.height Noneself.pixel_format Noneself.buffer Noneself.dataLen None其他类型 数据结构比较简单 见名知意: 好吧还是放出来吧: # 路径 文件名 #C:\Program Files\VisionMaster4.4.0\Applications\Module(sp)\x64\Logic\PyShellModule #组合数据类型字段定义.py# ROI圆环 class RoiAnnulus:def __init__(self):self.center_x Noneself.center_y Noneself.inner_radius Noneself.outer_radius Noneself.start_angle Noneself.angle_extend None# 圆 class Circle:def __init__(self):self.radius Noneself.center_x Noneself.center_y None# 椭圆 class ELLIPSE:def __init__(self):self.center_x Noneself.center_y Noneself.major_radius Noneself.minor_radius Noneself.angle None# 位置修正信息 class Fixture:def __init__(self):self.init_point_x Noneself.init_point_y Noneself.init_angle Noneself.init_scale_x Noneself.init_scale_y Noneself.run_point_x Noneself.run_point_y Noneself.run_angle Noneself.run_scale_x Noneself.run_scale_y None# 图像数据 class ImageData:def __init__(self):self.width Noneself.height Noneself.pixel_format Noneself.buffer Noneself.dataLen None# 直线 class Line:def __init__(self):self.start_point_x Noneself.start_point_y Noneself.end_point_x Noneself.end_point_y None# 点 class Point:def __init__(self):self.point_x Noneself.point_y None# 轮廓 class PointSet:def __init__(self):self.buffer Noneself.dataLen None# 矩形 class Rect:def __init__(self):self.rect_x Noneself.rect_y Noneself.width Noneself.height None# Box class RoiBox:def __init__(self):self.center_x Noneself.center_y Noneself.width Noneself.height Noneself.angle None# 多边形 class RoiPolygon:def __init__(self):self.point_num Noneself.point_x Noneself.point_y None# 圆环 class Annulus:def __init__(self):self.center_x Noneself.center_y Noneself.inner_radius Noneself.outer_radius Noneself.start_angle Noneself.angle_extend None 直接上程序: 自己摸索的 输入输出 官方可没有示例 噢 # coding: utf-8 from ioHelper import *# pip install opencv-python # pip install numpyimport os,sys,time import cv2 import numpy as npdef Imagetonumpy(ImageData):# 将二进制数据转换为 NumPy 数组image_array np.frombuffer(ImageData.buffer, dtypenp.uint8)# 调整数组形状为 (height, width, channels) # 图是3 通道 就选3 1通道就选1if (int(len(ImageData.buffer)) int(ImageData.width*ImageData.height)):channels1else:channels3image_array image_array.reshape((ImageData.height, ImageData.width,channels))if channels3:image_array cv2.cvtColor(image_array, cv2.COLOR_RGB2BGR)return image_array #******************************************************************************************* def numpytoImage(numpy_image):将 NumPy 数组转换为 ImageData 结构体。参数:numpy_image: NumPy 数组形状为 (height, width, channels) 或 (height, width)。返回:ImageData: 包含图像数据的结构体。# 检查 NumPy 数组的形状if len(numpy_image.shape) 1: # 灰度图像height, width,channels numpy_image.shapechannels 1elif len(numpy_image.shape) 3: # 彩色图像height, width, channels numpy_image.shapeelse:raise ValueError(NumPy 数组形状不正确)if channels 3:numpy_image cv2.cvtColor(numpy_image, cv2.COLOR_RGB2BGR)buffer numpy_image.tobytes()# 将 NumPy 数组转换为二进制数据# 创建 ImageData 结构体image_data ImageData()image_data.width widthimage_data.height heightif channels 3:image_data.pixel_format 35127316 # 假设像素格式与原函数一致 35127316 if channels 1: image_data.pixel_format 17301505 # 假设像素格式与原函数一致 35127316 image_data.buffer bufferimage_data.dataLen width*height*channels#image_data.pixel_format 必须正确 否则图像报错 我也不知带这个是啥格式啥结构 # 但是可以通过 输入图像 tmpimg.pixel_format 获取 这个数值#localVar IoHelper(data, INIT_LOCAL_VAR)#tmpimg moduleVar.img #读取图像#{tmpimg.width}// 宽度 759#{tmpimg.height}//高度 658#{tmpimg.pixel_format}return image_data def Process(data) - int:Write custom logic code inside the Process method. Return 0 for success or any other value for failure.在Process方法内编写自定义逻辑代码, 成功返回0, 返回其他值表示失败Do not delete this code block.请勿删除此处代码moduleVar IoHelper(data, INIT_MODULE_VAR)globalVar IoHelper(data, INIT_GLOBAL_VAR)localVar IoHelper(data, INIT_LOCAL_VAR)tmpimg moduleVar.img #读取图像moduleVar.outstr fr{tmpimg.width}// 宽度 759{tmpimg.height}//高度 658{tmpimg.pixel_format}//像素格式 //35127316[tmpimg.buffer]//图像数据 二进制{tmpimg.dataLen}//数据长度 //1498266{os.getcwd()}{int(len(tmpimg.buffer))}{int(tmpimg.width*tmpimg.height)}{int(len(tmpimg.buffer)) int(tmpimg.width*tmpimg.height)}image_arrayImagetonumpy(tmpimg)#image cv2.imread(tmpimg)# 使用 OpenCV 显示图像#blank_image np.ones((200, 200, 1), dtypenp.uint8) * 255#numpy_image np.zeros((100,100,3),dtypenp.uint8)#cv2.imshow(Image, image_array)#cv2.waitKey(2000)#cv2.destroyAllWindows()imgooopnumpytoImage(image_array)moduleVar.imgoutimgooopVariable initialization, to access input and output variables within the Process method.变量初始化, 进入Process方法后首先调用, 否则无法访问输入、输出变量* Input and output variables:* 输入、输出变量Input variables are read-only and cannot be modified; output variables are write-only and cannot be read.输入变量为只读, 不可以修改; 输出变量为只写, 不可以读取;Assume: the name of the input variable is in0, of type int. Its value can be obtained using tmp moduleVar.in0假设: 输入变量名为in0, 类型为int, 可通过tmp moduleVar.in0 读取该变量的值Assume: the name of the output variable is out0, of type int. Its value can be set using moduleVar.out 9假设: 输出变量名为out0, 类型为int, moduleVar.out 9 设置该变量的值Global variables:* 全局变量Assume: the name of the global variable is var0, of type int. Its value can be obtained using tmp globalVar.GetValue(var0)假设: 输入变量名为var0, 类型为int, 可通过tmp globalVar.GetValue(var0) 读取该变量的值, 通过 globalVar.SetValue(var0, 123) 设置该变量的值Local variables:* 局部变量Assume: the name of the local variable is var0, of type int. Its value can be obtained using tmp localVar.GetValue(var0)假设: 输入变量名为var0, 类型为int, 可通过tmp localVar.GetValue(var0) 读取该变量的值, 通过 localVar.SetValue(var0, 123) 设置该变量的值** All variables should be used strictly based on their types. If there is a need for type conversion, explicit conversion should be performed in the user code.** 所有变量都需要严格根据变量类型使用, 若有类型转换的需求, 应在用户代码内通过显示转换代码进行类型转换。Example code:示例代码如下:width moduleVar.width 100moduleVar.out0 width / 2 20if moduleVar.in1 OK:moduleVar.out1 OKmoduleVar.out0 globalVar.GetValue(var0)moduleVar.out1 localVar.GetValue(var0)globalVar.SetValue(var1, 123)localVar.SetValue(var1, moduleVar.out2)Note: Python indentation must be 4 spaces注意: Python的缩进必须为4个空格。编写自定义代码替换下方的默认代码 passWrite custom code to replace the default code below.try:#PrintMsg(\nUser code start)pass#PrintMsg(User code end)except BaseException as e:PrintMsg(e)return 0仔细看 就是2个转换函数: process是被调用方 注意 tmpimg.pixel_format 我没搞懂啥格式.就是一串数字,但是 输入图像是多少,输出就写多少就没有问题. 美中不足的是VM 用的 python3.7 64位 如果是python3.8 那么python 版本的halcon也可以支持
http://www.hkea.cn/news/14471689/

相关文章:

  • 移动网站开发与维护佛山网站制作维护
  • 网站建设服务市场趋势商品促销活动策划方案
  • 公司建立网站的好处wordpress 建网站
  • 网站建设案例 央视网北京++网站建设咨询顾问公司
  • 兰州新站点seo代理设计网站大全有哪些
  • 做网站公司销售开场白做任务领佣金的网站
  • 2023适合小学生的新闻事件做网站建设优化的公司
  • 接做施工图的网站对网站开发语言的统计
  • 免费源码资源源码站企业网站建设优化
  • 网站内的链接怎么做的杭州软件开发公司
  • 县城做网站的多么优质网站策划
  • 常见的微网站平台有哪些四川煤矿标准化建设网站
  • wordpress淘宝客网站模板安卓aso关键词优化
  • 婚纱影楼网站4399网页版
  • 网站做5级分销合法吗南召seo快速排名价格
  • 6网站建设做网站wordpress短代码大全
  • 开发区网站建设在哪网站开发系统设计怎么写
  • 成都网站建设方案优化网站建设制作周期
  • 消费返利系统网站建设网站怎么添加js广告位
  • 域名备案好了后怎么做网站完整html网页代码案例
  • 危机公关处理方案网站的seo方案
  • 桂林公司做网站dede 网站地图怎么做
  • 网站建设步骤流程详细介绍中国建设银行网上银行网站
  • 个人网站设计构思成都网站建设桔子科技
  • 网站如何做内部链接网站搭建详细步骤
  • 做教学的视频网站有哪些问题网站项目流程表
  • 短视频网站开发手机wap网站模板
  • 蓝德网站建设三水做网站
  • 丹东建设银行网站天翼云免费服务器
  • 山东app网站制作想开一家相亲网站 怎么做