相机取图后将数据转换成对应的图像处理库图像文件

编程入门 行业动态 更新时间:2024-10-11 21:31:31

相机取图<a href=https://www.elefans.com/category/jswz/34/1755808.html style=后将数据转换成对应的图像处理库图像文件"/>

相机取图后将数据转换成对应的图像处理库图像文件

相机取图后将数据转换成对应的图像处理库图像文件

  • 前言
  • 提要
  • 一、大华相机
    • 1.to HImage
  • 总结


前言

不同相机取完图像后的图像数据包里包含的数据并不一定是相同的,而且相机取图后的图像数据第三方的视觉库(Halcon,visionpro等)也并不能直接使用(除非使用视觉库自带的采图工具而非相机自己的SDK)。所以一般的在相机取图后需要向目标视觉库支持的图像类型进行转换。下面的内容将陆续更新(用到了就会更新在这里)。


提要

一般的2D相机中关键的数据在于:数据集(byte[])或(Intptr) , 图像的宽width ,图像的高height

一、大华相机

首先大华的SDK中通过回调的图像数据如下;

    public interface IGrabbedRawData{byte[] Image { get; }     	//关键数据IntPtr Raw { get; }int ImageSize { get; }int Width { get; }			//关键数据int Height { get; }			//关键数据long BlockID { get; }long TimeStamp { get; }uint ImagePaddingX { get; }uint ImagePaddingY { get; }GvspPixelFormatType PixelFmt { get; }IChunkData ChunkData { get; }IGrabbedRawData Clone();void Show(IntPtr pWnd);void Show(IntPtr pWnd, float angle);Bitmap ToBitmap(bool color);}

1.to HImage

代码如下:

    public enum PixelFormatType{Mono8,}public class ImageData{public int Width { get; set; }public int Height { get; set; }public byte[] Raw { get; set; }public PixelFormatType PixelFmt { get; set; }public long TimeStamp { get; set; }public HImage ToHImage() {HImage hImage = new HImage();switch (PixelFmt){case PixelFormatType.Mono8:		//gray图像,彩色的大华相机还没用过unsafe{void* p;IntPtr ptr;fixed (byte* pc = Raw){p = (void*)pc;ptr = new IntPtr(p);}hImage.GenImage1("byte", Width, Height, ptr);}break;default:throw new Exception("图像格式未收录");break;}return hImage;}

总结

跟随项目更新。

更多推荐

相机取图后将数据转换成对应的图像处理库图像文件

本文发布于:2024-03-10 10:09:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1727679.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:后将   转换成   图像处理   相机   文件

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!