如何在C++中将CWIMAQ对象转换为变量? 主要软件: LabWindows/CVI Add-ons>>Vision Development Module主要软件版本: N/A 主要软件修正版本: N/A 次要软件: N/A
问题: 我在Microsoft Visual C++中使用IMAQ Vision for ComponentWorks,当我尝试用CWIMAQVision.Add方法操作两幅图像时得到了一个错误.当我使用下列代码将图像与常数相加时,程序是可以正常工作的: CWIMAQVision.Add (SourceImage, COleVariant(4.0), DestImage);但当我尝试用相似的方法使两幅图像相加时却得到了一个错误。当我使用CWIMAQStructuringElement作为CWIMAQVision.Morphology的输入时也遇到了相似的问题。请问如何解决? 解答: CWIMAQVision.Add的第二个参数是变量,它可以是一个常数或一个IMAQ图像。您不能使用COleVariant (OperandImage)这样的函数作为参数,因为在变量的数据类型中并没有CWIMAQImage类型。您必须先将图像转换为DISPATCH变量类型使之成为变量。将两幅CWIMAQ图像(源图像和操作图像)相加的代码如下: VARIANT varImage;第一行声明了一个名为varImage的变量。第二行说明了变量中的数据为DISPATCH变量类型,第三行将指针指向一幅CWIMAQ图像的转换对象. 要查阅更多Visual C++中关于类型转换的信息,请参照以下链接。 相关链接: Microsoft Developer's Network 附件:
报告日期: 10/25/2006 最近更新: 10/26/2006 文档编号: 1XOELGL4 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
