halcon算子通信算子

使用halcon算子创建服务器:

共两步:

1、open_socket_accept 打开一个接受连接请求的接口(相当于初始化服务器套接字)

2、socket_accept_connect 接受一个监听端口的连接请求(相当于服务器的accept操作)

使用halcon算子创建客户端:

open_socket_connect打开一个插口到一个已存在的插口(相当于执行客户端的connect操作)

以上执行成功便可进行数据传输

****服务器
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
dev_set_colored (12)
**打开一个接受连接请求的接口(相当于初始化服务器套接字)
open_socket_accept (3000, 'protocol', 'HALCON4', AcceptingSocket)
**接受一个监听端口的连接请求(相当于服务区的accept操作)
socket_accept_connect (AcceptingSocket, 'true', Socket)

get_next_socket_data_type (Socket, DataType)
if(DataType='image')
    receive_image (Image, Socket)
endif

get_next_socket_data_type (Socket, DataType1)
if(DataType1='tuple')
    receive_tuple (Socket, Tuple)
endif

edges_sub_pix (Image, Edges, 'canny', 1.5, 20, 40)
send_xld (Edges, Socket)

receive_xld (Polygons, Socket)
split_contours_xld (Polygons, Contours, 'polygon', 1, 5)
gen_parallels_xld (Polygons, Parallels, 10, 30, 0.15, 'true')
send_xld (Parallels, Socket)
receive_xld (ModParallels, Socket)
receive_xld (ExtParallels, Socket)
stop ()
close_socket (Socket)
close_socket (AcceptingSocket)
****客户端
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
dev_set_colored (12)
**打开一个插口到一个已存在的插口(执行客户端的connect操作)
open_socket_connect ('127.0.0.1', 3000, [], [], Socket)


read_image (Image, 'C:/Users/hua13/Desktop/C.jpg')
send_image (Image, Socket)
send_tuple (Socket, [1,2,3,4])
get_next_socket_data_type (Socket, DataType)
if(DataType='xld_cont')
    receive_xld (Edges, Socket)
endif
gen_polygons_xld (Edges, Polygons, 'ramer', 2)

send_xld (Polygons, Socket)
split_contours_xld (Polygons, Contours, 'polygon', 1, 5)
receive_xld (Parallels, Socket)
mod_parallels_xld (Parallels, Image, ModParallels, ExtParallels, 0.4, 160, 220, 10)
send_xld (ModParallels, Socket)
send_xld (ExtParallels, Socket)
stop ()
close_socket (Socket)

在进行数据接收之前可以通过get_next_socket_data_type 算子得到传输的数据类型,方便下一步操作

附注:个人感觉halcon的通讯协议有点像TCP协议,都是必先存在服务器后进行数据传输

本代码注意执行顺序:服务器:open_socket_accept()->客户端:open_socket_connect()->服务器:socket_accept_connect()

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Halcon算子中文手册CHM是Halcon系统提供的一种在线帮助文档格式。CHM是“Compiled HTML Help”的缩写,即编译的HTML帮助文档。 Halcon算子中文手册CHM是为了方便中文用户学习和使用Halcon算子而特别准备的。它包含了Halcon算子的详细说明、用法示例以及相关函数的参数说明。通过查阅CHM手册,用户可以了解各种算子的作用、输入输出参数的含义,以及如何在Halcon中使用它们。这对于Halcon初学者来说是一个很好的学习工具。 CHM手册的使用非常简单方便,用户只需要在Halcon界面中点击相关算子的帮助按钮,就可以快速打开相应的CHM手册页面。在CHM手册页面中,用户可以通过目录、索引、搜索等方式浏览和查找需要的信息。CHM手册的页面包含了算子的详细解释和代码示例,帮助用户更好地理解和应用算子Halcon算子中文手册CHM的提供,为中文用户提供了一种方便、快捷的学习和查阅资源。它不仅节省了用户在网上搜索资料的时间,还提供了更专业、系统、全面的算子说明,从而帮助用户更加高效地使用Halcon进行图像处理和分析。无论是新手还是有一定经验的用户,都能通过CHM手册快速查找所需的信息,提升开发和应用的效率。 ### 回答2: Halcon算子中文手册CHM是一个用于参考和学习Halcon算子的详细文件。CHM是Halcon提供的一种帮助文档格式,可以在Windows操作系统上浏览和搜索。 这个中文手册提供了Halcon算子的描述、参数、使用方法以及示例代码等内容。用户可以通过搜索或按照算子分类来查找所需的算子。同时,手册还提供了算子的示例图像,帮助用户理解算子的作用和效果。 使用这个手册,用户可以更加方便地了解和学习Halcon算子。无论是初学者还是有一定经验的用户,都可以通过手册来查找所需的算子,并且了解该算子的具体用法。手册的详细信息和示例代码有助于用户更好地理解算子的功能和使用场景。 总之,Halcon算子中文手册CHM是一个非常有价值的工具,为用户提供了方便快捷的查阅方式,帮助用户学习和运用Halcon算子,提升图像处理的能力。 ### 回答3: Halcon算子中文手册CHM是Halcon软件的一个辅助文档,用于帮助用户快速查询和理解Halcon算子的使用方法和功能。CHM是一种经典的Windows帮助文档格式,可以在Windows系统上直接打开和阅读。 Halcon算子中文手册CHM包含了Halcon软件中各种不同类型的算子的详细说明和示例代码,涵盖了图像处理、机器视觉、测量、工业自动化等众多领域。用户可以根据自己的需求,通过关键字搜索或者按照分类浏览的方式找到所需的算子,并了解其参数设置和使用方法。 使用Halcon算子中文手册CHM可以帮助用户更方便地学习和掌握Halcon算子的使用技巧,从而更高效地完成图像处理和分析任务。用户可以通过手册中的示例代码了解算子的实际应用场景,并根据自己的需求进行修改和优化。 总之,Halcon算子中文手册CHM是一本非常实用的参考资料,对于使用Halcon进行图像处理的用户来说,是不可或缺的帮助工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值