本文整理汇总了C#中IImage.AsCvIplImage方法的典型用法代码示例。如果您正苦于以下问题:C# IImage.AsCvIplImage方法的具体用法?C# IImage.AsCvIplImage怎么用?C# IImage.AsCvIplImage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IImage
的用法示例。
在下文中一共展示了IImage.AsCvIplImage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteInternal
/// <summary>
/// Writes the provided image to the stream.
/// </summary>
/// <param name="image">Image to write.</param>
/// <returns>True, if the operation was successful, false otherwise.</returns>
protected unsafe override bool WriteInternal(IImage image)
{
bool isSuccessful;
lock (syncObj)
{
if (image.ColorInfo.ChannelCount == 3 && !ColorFrames)
throw new Exception("Image must be grayscale!");
if (image.ColorInfo.ChannelCount == 1 && ColorFrames)
throw new Exception("Image must be color!");
if (image.ColorInfo.ChannelCount != 3 && ColorFrames)
throw new Exception("Color images must have 3 channels!");
if (!image.Size.Equals(FrameSize))
throw new Exception("Input image must be the same size as defined frame size!");
this.Position++;
var iplImg = image.AsCvIplImage();
IplImage* iplImgPtr = (IplImage*)&iplImg;
isSuccessful = CvInvoke.cvWriteFrame(videoObjPtr, (IntPtr)iplImgPtr);
}
return isSuccessful;
}