
| 语言: | Visual Basic 6 |
| 版本: | 3.0.3 |
| 发布于: | 2006年8月20日 |
| 作者: | IC Imaging Control 技术支持部 |
| 系统要求: | IC Imaging Control >2.1 由WDM数据流类驱动程序驱动的相机、视频转换器或图像采集卡 |
| |
本节将演示如何直接在你的程序里调节对比度的参数,而非通过一个内置滤镜对话框。
示例程序窗口如图所示:

这个滤镜将对图像实施柱状图扩展操作,即处于最大和最小值之间的灰度值将被按比例映射为0~255之间的值, 小于最小值的像素灰度值将被设为0,大于最大值的会制度将被设为255。而最大值和最小值可通过两个 scrollbars (sldLowerBound and sldUpperBound)进行调节。程序开始时首先调用两个函数进行初始化。
InitControls UpdateControls
函数 InitControls 将初始化scrollbars的最小值与最大值。
Private Sub InitControls() sldLowerBound.Min = 0 sldLowerBound.Max = 255 sldUpperBound.Min = 0 sldUpperBound.Max = 255 End Sub
函数 UpdateControls 将滤镜参数 "Enable"、"Lower Bound" 及 "Upper Bound" 赋值给复选框 cbEnable 和 scrollbars sldLowerBound 与 sldUpperBound。
Private Sub UpdateControls() If filter.Parameter("Enable") Then cbEnable.Value = Checked Else cbEnable.Value = Unchecked End If sldLowerBound.Value = filter.Parameter("Lower Bound") txLowerBound.Text = sldLowerBound.Value sldUpperBound.Value = filter.Parameter("Upper Bound") txUpperBound.Text = sldUpperBound.Value End Sub
scrollbar sldLowerBound 的事件处理程序将确保它的值小于等于 scrollbar sldUpperBound 的值。之后,scrollbar 的值将被赋予滤镜参数 "Lower Bound",同时scrollbar 右侧的显示文字将被更新。scrollbar sldUpperBound 的事件处理程序的原理也类似。
Private Sub sldLowerBound_Scroll() If sldLowerBound.Value >= sldUpperBound.Value Then sldLowerBound.Value = sldUpperBound.Value - 1 End If filter.Parameter("Lower Bound") = sldLowerBound.Value txLowerBound.Text = sldLowerBound.Value End Sub
责任声明
IC Imaging Control 源代码库中的所有代码均只用于教学目的,The Imaging Source Europe GmbH 作为IC Imaging Control的开发制造商,不对任何由于使用本文或其中源代码所产生的后果承担责任。