调用海康工业相机(gige),读取数据流并转为opencv(numpy)矩阵格式

参考官方开发案例 GrabImage.py ,对数据流相机转换

def work_thread(cam=0, pData=0, nDataSize=0):
    stFrameInfo = MV_FRAME_OUT_INFO_EX()
    memset(byref(stFrameInfo), 0, sizeof(stFrameInfo))
    while True:
        ret = cam.MV_CC_GetOneFrameTimeout(pData, nDataSize, stFrameInfo, 1000)
        if ret == 0:
            print("get one frame: Width[%d], Height[%d], PixelType[0x%x], nFrameNum[%d]" % (stFrameInfo.nWidth, stFrameInfo.nHeight, stFrameInfo.enPixelType, stFrameInfo.nFrameNum))
            image = np.asarray(pData._obj)
            image = image.reshape((stFrameInfo.nHeight, stFrameInfo.nWidth))    # 灰度图
            # image = image.reshape((stFrameInfo.nHeight, stFrameInfo.nWidth, 3))  # RGB
            # image = cv2.cvtColor(image , cv2.COLOR_RGB2BGR)
            cv2.imshow("", image)
            cv2.waitKey(1)
        else:
            print("no data[0x%x]" % ret)
        if g_bExit == True:
            cv2.destroyAllWindows()
            break

说明:官方案例中数据流为data_buf,可直接使用np.asarray(data_buf)转换;work_threadpData = byref(data_buf),需要取值。

unsigned int nRecvBufSize = 0; MVCC_INTVALUE stParam; memset(&stParam, 0, sizeof(MVCC_INTVALUE)); int tempValue = MV_CC_GetIntValue(hik_hDevHandle, "PayloadS. GrabImage.pyGrabImage.py抓取了一帧图片,是数据流,我们要解析成图片输入到YOLO里,图片是通过MvCameraControl_class类里的MV_CC_GetOneFrameTimeout函数抓取的,MV_CC_GetOneFrameTimeout是通过动态库MvCameraControl.dll封装的,不过我们只需要解流就好,看 ConvertPixelType.py里... def Work_thread(self): # ch:创建显示的窗口 | en:Create the window for display cv2.namedWindow(str(self.n_win_gui_id),0) cv2.resizeWindow(str(self.n_win_gui_id), 500, 500) stFrameInfo = MV_FRAME_OUT_INFO_EX() img_buff = N. 在Android中,调用Email有三种类型的Intent: Intent.ACTION_SENDTO 无附件的发送 Intent.ACTION_SEND 带附件的发送 Intent.ACTION_SEND_MULTIPLE 带有多附件的发送 【方法1】使用SENTTO发送 12345678910Intent data=new Intent(Intent.ACTION_SENDTO); data.... 在前两章内笔者详细叙述了如何编译以及加载opencv库,本文将从opencv出发,在linux系统下利用工业摄像机的SDK完成基于工业相机的opencv开发算法。包含:1.工业相机的驱动;2.工业相机的帧格式转换;以上就是今天要讲的内容,本文介绍了linux下GigE相机在opencv下的使用,同时在代码类里包括了相机参数调整和帧格式的转换操作,笔者有空再进行详细地阐述。