Professional Documents
Culture Documents
HalconWinform实现图像缩放等功能
HalconWinform实现图像缩放等功能
blog.csdn.net/jgj123321/article/details/96479014
Halcon 专栏收录该内容
39 篇文章 5 订阅
订阅专栏
初始化窗口
1)图片控件为winform中的PictureBox控件时:
需要调用halcon算子OpenWindow来初始化窗口,使winform中的图片窗口转换为适用于
halcon的图片窗口。
2)图片控件为halcon中的HWindowControl控件时:
无需进行窗口转换,可直接按照如下方式调用。
WindowID = hWindowControl1.HalconWindow。
添加图像缩放功能
打开Form窗体——查看图片控件属性——点击“事件”选项——找到鼠标滚轮滑动的事件,双
击创建响应函数——将相应的代码放在刚刚添加的函数中,如下图所示:
1/7
添加图像平移功能
按照上述步骤分别找到鼠标“按下”与“抬起”的事件,分别双击创建响应函数,然后将相应的
代码放在刚刚添加的函数中。如下图所示:
添加实时显示灰度值功能
按照上述步骤找到鼠标移动的事件,双击创建响应函数——在界面上添加一个“label”控件,
然后将相应的代码放在刚刚添加的函数中。
代码:
2/7
1. using System;
2. using System.Collections.Generic;
3. using System.ComponentModel;
4. using System.Data;
5. using System.Drawing;
6. using System.Linq;
7. using System.Text;
8. using System.Threading.Tasks;
9. using System.Windows.Forms;
12. {
14. {
20. {
21. InitializeComponent();
22. CreateHalconWindow();
23. }
24. //创建Halcon窗口
26. {
27. // ///图片控件为winform中的PictureBox控件时/
3/7
31. /图片控件为halcon中的HWindowControl控件时/
33. }
34. //读图
36. {
41. {
44. }
48. }
49. //缩放图像
51. {
53. HTuple Row0, Column0, Row00, Column00, Ht, Wt, r1, c1, r2, c2;
55. {
57. }
58. else
59. {
4/7
60. Zoom = 0.5;
61. }
67. {
73. HOperatorSet.ClearWindow(WindowID);
75. }
76. }
77. //鼠标按下,记录当前坐标值
79. {
84. }
85. //鼠标抬起,实现图像移动
87. {
5/7
88. HTuple row1, col1, row2, col2,Row, Column, Button;
94. HOperatorSet.ClearWindow(WindowID);
96. {
98. }
99. else
100. {
101. MessageBox.Show("请加载一张图片");
102. }
103. }
104. //鼠标移动,实时显示当前坐标与灰度值
106. {
109. if (ImageHeight != null && (Row > 0 && Row < ImageHeight) &&
(Column > 0 && Column < ImageWidth))//设置3个条件项,防止程序崩溃。
110. {
112. }
113. else
6/7
114. {
116. }
119. }
120. //全屏显示图像,使缩放后的图像回到原始大小
122. {
124. HOperatorSet.ClearWindow(WindowID);
126. }
127. }
128. }
7/7