Python调用海康威视工业相机

  • 使用的MVS版本为3.4.1,python的版本为3.9,MVS可以自行去官网下载。

  • MVS在安装的过程中要记一下安装路径,一会儿是要进去拿文件的。

  • 安装完成后,进入到这个路径安装的盘\MVS\Development\Samples\Python,把里面的文件复制到你想使用的项目中去。

  • 参考的代码来源在这里:https://blog.csdn.net/wenxingchen/article/details/133805272,里面说的十分详细了,可能是因为MVS版本的不一样导致配置上有一点出入,导致无法正常运行,现在我们来看一看关键点在哪里。

  • HKCamara.py中,开头的文件导入部分,如果没那文件复制过来,那一定要在系统的路径下把原文件里的这些文件都加上:

点击查看代码

sys.path.append("安装的盘\\MVS\\Development\\Samples\\Python\\MvImport")
from MvImport.MvCameraControl_class import *  # 调用了MvCameraControl_class.py文件
  • main.py中,记得把相机的IP调整至和我们连接的相机IP一致,相机的IP可以在MVS中调整,第一次连接的时候软件应该会自动弹窗,当然肯定也是可以手动的。

  • OK,当我以为就这样把问题解决了的时候,果然出问题了。就在我们MvImport文件下的MvCameraControl_class.py开始了:

  • 报错:MvCamCtrldll = WinDLL("MvCameraControl.dll")找不到该文件,建议使用绝对路径。在这过程走了一点弯路,正确的修改方法为:"C:\\Program Files (x86)\\Common Files\\MVS\\Runtime\\Win64_x64\\MvCameraControl.dll",大概就是这个路径,找一找肯定是可以找到的,下面来说说弯路在哪里。

  • 我看到这个报错的时候,马上就复制文件去原文件夹里找了,结果啥也没找到,给我整不会了都。马上去查,发现了一个哥们提供的路径"安装的盘\MVS\Development\DotNet\AnyCpu\MvCameraControl.Net.dll",大喜,马上改了运行,最后还是一句很没有营养的报错AttributeError: 'HKCamera' object has no attribute 'camera'。为啥说没营养?因为看这个报错没有用,因为在创建这个类的时候,这个属性白纸黑字写在那里。

  • 但是看过程中的报错,就明白问题出在MvCameraControl.Net.dll中没有MV_CC_EnumDevices函数,所以绝对读不到任何的画面。这说明这个文件不是我们要的。不过还是要感谢哥们提供的思路。后来就找到了正确的路径了,感谢这位大哥提供的思路https://blog.csdn.net/qq_26530585/article/details/139746999,非常准确,修改完成后马上就可以运行了。

  • 最后说一下,在`main.py’中有一段是相机参数的设置,这个参数设置会改变已经设置好的参数,换句话说可以直接在代码里调整相机的参数。

  • 可以在打印图像尺寸的代码下面,加入cv2.imshow('window', image),就可以直接看到图像了。由于下面写好了cv2.waitKey(50)还有相关的按键判断,英文输入法的状态下按e就能退出。画面要动的话,函数的参数delay是不可以为0的,否则程序会一直等待到有按键按下画面才会动,也算是复习一下。

来源链接:https://www.cnblogs.com/fuzera/p/18597794

© 版权声明
THE END
支持一下吧
点赞12 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容