含SDK工业相机与OpenCV作实时处理时问题

  在用含有SDK的工业相机时,相机图像在OpenCV中的实时处理是我一直纠结的问题,可以用相机SDK相关函数实现图像保存,如果要处理就要先用OpenCV把图像载入,显然是浪费时间。一开始,认为SDK和OpenCV有着各自的一套数据类型,这该怎么转换呀,上网发现很少有这样问题,我知道这在老手们面前或许连问题都算不上,不过对我们新手来说就是很大问题啦。后来花了几天的时间看SDK的说明文档,又上网看了一些OpenCV的图像类型转换的文章,在自己不断尝试下终于有了一点眉目。

  我用的是维视的相机,现在我的感触是:在工业相机中,SDK封装有视频流,可以用相关类函数进行操作,可以从视频流中读取图像数据并复制到你所建立的内存(BYTE*)中,将内存中的图像用OpenCV相关类型读取或转换,即BYTE*转化为IplImage*类型,OpenCV就可以处理这些图像,这样就可以实现实时处理。不过还有一个问题是,转化为IplImage的时候,我保存了一张图像,结果发现图像是倒立的,而用SDK保存的就是正的,不知道怎样解决,正在研究中,看来对图像在内存中的理解还有点距离。

具体见:OpenCV 处理内存中的图像数据





你可能感兴趣的:(opencv,二次开发,IplImage,双目视觉,工业相机)