久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

C# 使用Sentech相機(jī)sdk 獲取圖像,轉(zhuǎn)換為halcon HImage的兩種方法

 乘舟泛海賞雨 2021-01-29

在網(wǎng)上搜索半天,沒(méi)有找到關(guān)于Sentech相機(jī)和halcon聯(lián)合編程的例子,先將自己的代碼發(fā)布如下.

sentech相機(jī)驅(qū)動(dòng)和sdk 下載地址 


參考PvPipelineSample這個(gè)例子,自己修改后就可以連接相機(jī).

SDK獲得圖像類(lèi)型是其自定義的 PvBuffer

  1. PvImage pvImage = lBuffer.Image;
  2. Int32 width = (Int32)pvImage.Width;
  3. Int32 height = (Int32)pvImage.Height;
  4. Bitmap bitMap = new Bitmap(width, height);
  5. pvImage.CopyToBitmap(bitMap);
  6. HObject hObject = HImageConvertFromBitmap32(bitMap);

將其轉(zhuǎn)換成為Bitmap類(lèi)型,再轉(zhuǎn)換成為HImage
  1. </pre><p></p><p></p><pre code_snippet_id="1638895" snippet_file_name="blog_20160408_3_2876536" name="code" class="csharp"> private static HObject HImageConvertFromBitmap32(Bitmap bmp)
  2. {
  3. HObject ho_Image;
  4. HOperatorSet.GenEmptyObj(out ho_Image);
  5. unsafe
  6. {
  7. System.Drawing.Imaging.BitmapData bmpData = bmp.LockBits(new System.Drawing.Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppRgb);
  8. unsafe
  9. {
  10. HOperatorSet.GenImageInterleaved(out ho_Image, bmpData.Scan0, "bgrx", bmp.Width, bmp.Height, -1, "byte", bmp.Width, bmp.Height, 0, 0, -1, 0);
  11. }
  12. return ho_Image;
  13. }
  14. }

第二種方法是使用指針,

在網(wǎng)上看到一段代碼,是如何獲取byte[]的指針

  1. //byte[] outputData = new byte[2];
  2. //void* p;
  3. //IntPtr ptr;
  4. //fixed (byte* pc = outputData)
  5. //{
  6. // p = (void*)pc;
  7. // ptr = new IntPtr(p);
  8. //}

查詢(xún)相機(jī)的api,知道

byte* pter = pvImage.DataPointer;

于是聯(lián)想到halcon的gen_image1最后一個(gè)參數(shù)也是需要指針

void HImage.GenImage1(string type, int width, int height, IntPtr pixelPointer)

于是便有了下面的代碼

  1. HImage hObject1 = new HImage();
  2. byte* pter = pvImage.DataPointer;
  3. hObject1.GenImage1("byte", width, height, new IntPtr(pter));

轉(zhuǎn)換成功了!!!哈哈~~

使用bitmap方法我的電腦耗時(shí)約為100ms,使用后面這種指針?lè)椒ê臅r(shí)約為5ms偷笑

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多