图片路径
链接:https://pan.baidu.com/s/1kzq4n6v2GQqYdKgdSA8Zwg
提取码:qlvq

通过鼠标交互,实时对图片做均值处理。

* 鼠标涂抹交互--均值处理* 禁用右键上下文菜单
dev_set_preferences ('graphics_window_context_menu', 'false')
dev_close_window ()
dev_update_off ()* 1.加载显示图片 *******************************************************
read_image (Image, './img/mreut')
get_image_size (Image, Width, Height)
dev_open_window_fit_image (Image, 0, 0, Width, Height, WindowHandle)
set_display_font (WindowHandle, 12, 'mono', 'true', 'false')
dev_set_draw ('margin')
dev_set_line_width (3)
dev_display (Image)
disp_continue_message (WindowHandle, 'black', 'true')stop ()
* 关闭窗口自动刷新
get_window_param (WindowHandle, 'flush', Flush)
set_window_param (WindowHandle, 'flush', 'false')* 2.鼠标实时交互处理 ****************************************************
Button := 0
* 鼠标右键退出循环
while (Button != 4) * a.循环获取鼠标位置 ****************************************************Row := -1Column := -1* 忽略错误返回dev_set_check ('~give_error')* 获取鼠标坐标get_mposition (WindowHandle, Row, Column, Button)dev_set_check ('give_error')dev_display (Image)* 设置提示文本光标位置set_tposition (WindowHandle, Height - 40, 4)* 判断鼠标是否在窗体内if (Row >= 0 and Column >= 0)* b.绘制显示鼠标周边圆形区域****************************************** 围绕鼠标 绘制圆形gen_circle (Circle, Row, Column, 20)* 圆形包裹(防止边缘情况)boundary (Circle, RegionBorder, 'inner')dev_display (RegionBorder)        write_string (WindowHandle, '请按下鼠标左键')* 按下鼠标左键if (Button == 1)* c.鼠标周边圆形区域--圆形均值处理******************************* 聚焦鼠标环形处理区域reduce_domain (Image, Circle, ImageReduced)* 圆形均值处理median_image (ImageReduced, ImageMedian, 'circle', 5, 'mirrored')* 覆盖原图片overpaint_gray (Image, ImageMedian)endifelsewrite_string (WindowHandle, '请移动鼠标到窗口中')endif* 刷新窗口缓存flush_buffer (WindowHandle)
endwhile* 显示与恢复参数
dev_display (Image)
set_window_param (WindowHandle, 'flush', Flush)write_image (Image, 'jpg', 0, 'result')

矩形区域涂抹

dev_set_preferences ('graphics_window_context_menu', 'false')
dev_close_window ()dev_update_off ()set_system ('flush_graphic', 'true')
read_image (Image, 'fabrik')
get_image_size (Image, Width, Height)
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')dev_set_draw ('margin')
dev_set_line_width (3)
dev_display (Image)
disp_continue_message (WindowHandle, 'black', 'true')draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)stop()
* 关闭窗口自动刷新
get_window_param (WindowHandle, 'flush', Flush)
set_window_param (WindowHandle, 'flush', 'false')Button := 0
while(Button != 4)Row := -1Column := -1dev_set_check ('~give_error')get_mposition (WindowHandle, Row, Column, Button)dev_set_check ('give_error')set_system ('flush_graphic', 'false')dev_display (Image)dev_display (Rectangle)set_tposition (WindowHandle, Height - 40, 4)if(Row >=0 and Column >=0)gen_circle (Circle, Row, Column, 20)boundary (Circle, RegionBorder, 'inner')dev_display (RegionBorder)set_system ('flush_graphic', 'true')if(Button==1)difference (Rectangle, Circle, Rectangle)endifelseset_system ('flush_graphic', 'true')endif* 刷新窗口缓存flush_buffer (WindowHandle)
endwhile* 显示与恢复参数
dev_display (Image)
set_window_param (WindowHandle, 'flush', Flush)

Halcon 鼠标涂抹交互--均值处理相关推荐

  1. DirectX11进阶5_硬件实例化与视锥体裁剪及鼠标拾取交互

    一.硬件实例化(Hardware Instancing) 硬件实例化指的是在场景中绘制同一个物体多次,但是是以不同的位置.旋转.缩放.材质以及纹理来绘制(比如一棵树可能会被多次使用以构建出一片森林). ...

  2. OpenGL鼠标视角交互

    OpenGL鼠标视角交互 1. 欧拉角 2. 鼠标输入 1. 欧拉角 欧拉角(Euler Angle)是可以表示3D空间中任何旋转的3个值,一共有3种欧拉角:俯仰角(Pitch).偏航角(Yaw)和滚 ...

  3. vtk鼠标不交互_vtk 各种不同的鼠标交互方式

    /* 演示各种不同的鼠标交互模式 */ #include "vtkRenderer.h" #include "vtkRenderWindow.h" #inclu ...

  4. vtk鼠标不交互_Axure RP 9.0 交互原型设计工具

    Axure RP 是一款精心设计的快速产品原型设计软件,允许您从头开始设计网站模板,而且也不需要任何编程语言.程序基于各种不同的小部件集,网站通常由窗体.菜单.表和流元素组成,拥有全新的硬件加速渲染引 ...

  5. unity鼠标键盘交互

    鼠标交互之鼠标拖动物体 将代码放置在被拖动的物体上 public Camera mainCamera;//相机悬挂private void OnMouseDrag()//拖动物体的碰撞体{Ray r ...

  6. three.js(6):屏幕点击与鼠标的交互(Raycaster的用法)

    参考:光线投射器(Raycaster).ThreeJS中的点击与交互--Raycaster的用法 该类用来处理光线投射.光线投射主要用于物体选择.碰撞检测以及图像成像等方面. 坐标系概念 我们的手机屏 ...

  7. halcon鼠标事件(鼠标检测)

    关键算子:get_mposition halcon代码: while (1)trydev_clear_window ()get_mposition (3600, mouseR, mouseC, But ...

  8. svg html 鼠标滚轮交互,鼠标滚轮控制SVG线条动画

    之前用D3制作图表是初次接触SVG,当时只顾感叹D3的强大了.后来当看到网站 Serio Verify 的时候,才意识到SVG用于制作可交互的页面动画是多么有意思. 于是自己也尝试在HTML页面中制作 ...

  9. python获取鼠标选取的内容_Python三维可视化:鼠标选取交互操作

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

最新文章

  1. ASP.NET分页存储过程自定义用户控件
  2. 如何修复 Flutter 中的“正在检查 Dart SDK 版本... << 此时出乎意料”错误?
  3. 写给前端工程师的 Flutter 详细教程
  4. SAP Fiori element框架smart control运行时的生成原理
  5. python用http协议传数据_python基础 -- 简单实现HTTP协议
  6. SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory
  7. Oracle 10g DG 数据文件迁移
  8. 在db2中 两个数据库之间的两个表的联合查询
  9. 矿池如何给矿机下发任务
  10. mysql 管理工具—phpmyadmin docker 版使用
  11. 保险中介3.0时代:数字化中介在场景中打造核心竞争力
  12. 计算机网络为什么要分层?
  13. tibco往服务器发消息,Tibco EMS 初级使用方法小结
  14. @Resource注解用法
  15. 个人博客百度统计中恶意刷无关关键词解决方案
  16. 百度云服务器BCC购买
  17. Scala下Play框架学习笔记(Actions,Controllers and Results)
  18. 纳兰传奇人生里的情深意短
  19. 在线计算机励志文案,让人充满动力的经典励志文案
  20. Git安装及密钥的生成

热门文章

  1. ora-01720 授权选项对于xxxx不存在
  2. Go2Shell的安装与配置
  3. FME中二维管线数据三维化及生成带属性3dtiles
  4. Servlet——过滤器(fiter)
  5. 跨境电商决战代购蚂蚁军团
  6. python返回数组长度函数_Python通过len函数返回对象长度
  7. php运算符取整_PHP运算符及php取整函数
  8. 0xc0000098错误以及解决方案
  9. 在电脑桌面 右键点击 计算机,鼠标右键点击电脑桌面无反应怎么解决
  10. C++实现自适应二值化