一、背景

        兴趣爱好来了,决定研发一个产品。涉及到电工和机械等知识,所以记录一下相关的基础知识。本期主题是初尝线扫相机,虽然又回到了编程,但是对于我来说,硬件集成的经验不足,缺乏相机、镜头的专业知识。但是与AI的经验配合,还是勉强啃下了这块骨头。

二、材料与接线

(一)材料清单

序号名称型号备注
1海康威视CL系列4K线扫线阵工业相机MV-CL042-91GM
2海康威视配套镜头MVL-AF2045M-M42
312 芯航插电源线自带
4网线不懂是啥标准,能用就行,先不学自带
5开关电源输出24V,10A上次实验我用到的,继续使用

(二)接线说明

        1.电源线

        接之前,确认了电压是匹配的,这一点很关键。12芯一头接相机,另一头接开关电源。只是注意说明颜色,黑色、灰色都写的是写的是接GND,并线接,对应我的开关电源的COM接头。紫色、红色写的是DC power,并线接,对应我的开关电影的+V接头。紫色不好辨识啊,差点搞的我认为自己是弱智了。心中想象🍆的颜色,而且是深色🍆就行。

        2.网线

        很多年前,我们2个电脑网线直连时,我记得那种网线和一般上网用的网线不一样?反正能用就好了,暂时不去深究。不影响核心目标的学习,可以暂缓。

        3.镜头

        本次是初次实验,先做最小测试,根本不用上镜头。

三、测试过程

(一)官方软件MVS测试连接正确性

        海康机器人-机器视觉-下载中心,AI第一次找下载,点击过去是404,第二次才找对界面,但是该界面也多次崩溃。不得不吐槽一下海康,我目前工作中一件事情,也整好跟海康打交道,在技术文档、二次开发服务方面,海康还有很大的改进空间。

        安装软件后,运行起来,在首页的左侧菜单栏中,可以看到连接好的这台相机,双击这一行,中间就会显示画面。中间上面有几个小按钮,类似播放的按钮,点击就可以实时采集了。但是,线扫相机进光有限(一条缝嘛),所以屏幕看起来基本都是黑色的,我把手机电筒打开,对着线扫相机的那条缝隙!唉,对了,白了,有光的感觉!这就说明我们接线基本没有啥问题了。同步又要增加300多的经费了,买了补光灯,还等路上。

(二)官方软件MVS自带java代码测试

        我刚开始跳过了这一步,直接AI上代码,遇到了运行环境配置问题,才回头走这一步。建议这样走,不然挫败感太强烈了。

        官方的示例代码存在“MVS\Development\Samples\Java”。我先选择里面的“GetImage”,里面有“compile.bat”和“run.bat”。先编译,再运行的。在上一步连接正常的情况下,运行的时候,会提示发现相机列表,其中只有1个,要求选择编号,输入编号,即可运行。

        我查看了bat文件,没有太多的配置,代码来看,是依赖了MVS\Development\Samples\Java\Library\MvCameraControlWrapper.jar,反编译jar,查看MvCameraControl.class背后依赖的是C:\Program Files (x86)\Common Files\MVS\Runtime\Win64_x64\\Runtime\\Win32_i86\\MvCameraControlWrapper.dll。而这个dll还依赖了同文件夹其他的dll文件。

        都运行起来了,为什么还要写上面一段呢?理清楚依赖关系干什么?因为涉及Java Native Interface(Java 本地接口,简称 JNI),对于我们后续自己写代码开发时,要搞清楚,否则容易出现找不到dll等情况。

(三)java代码抓取及存储画面

        参看MVS\Development\Samples\Java目录下面的ImageSave示例,导入到项目中,简单修改我获取一帧的代码。我的实验电脑没有在身边,代码就不贴了。简单的。

四、实验小结

        1.线扫相机不如一般相机好测试,因为图像在没有补光灯的情况下,可能看不到图像,难以区别是正常还是异常。

        2.JNI容易出现位置问题,特别是在自己的开发工具中开发时要注意。而且直接依赖的dll文件还有间接依赖的dll文件。

        3.线扫相机接口拿到的图片并不是1条线,而是组装好的完整图片,即便只拍了1帧,拿到的还是1个完整的图片。

        4.海康的文件中规中矩,但没有从二次开发者的角度来编写文档,可读性不强。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/95453.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/95453.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/95453.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt QWebSocket详解

1、概述 QWebSocket是Qt网络模块中的一个类,用于实现WebSocket协议的通信。WebSocket是一种全双工的通信协议,允许在客户端和服务器之间建立实时的双向通信。QWebSocket提供了对WebSocket协议的支持,使得开发者能够在Qt应用中方便地实现实时…

Java基础IO流全解析:常用知识点与面试高频考点汇总

Java基础IO流全解析:常用知识点与面试高频考点汇总 前言 IO(Input/Output)流是Java中处理数据传输的核心机制,无论是文件操作、网络通信还是数据持久化,都离不开IO流的身影。对于Java初学者而言,IO流的分类…

PDF.AI-与你的PDF文档对话

本文转载自:PDF.AI-与你的PDF文档对话 - Hello123工具导航 ** 一、🤖 PDF.AI:秒懂 PDF 的智能对话助手 PDF.AI 是一款超实用的AI 文档分析工具,专门帮你快速搞定各种 PDF 文件。不管多长的合同、报告或论文,你只需上…

微软出品!这个免费开源工具集获得了GitHub 123k程序员点赞

大家晚上好,我是顾北,是一名AI应用探索者,当然也是GitHub开源项目收集爱好者。最近我在整理Windows效率工具时,发现了一个让我一晚上没睡着觉的开源项目——微软官方出品的 PowerToys,可谓是彻夜难眠啊。经过我两个月多…

【开题答辩全过程】以 小众商户小程序为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

Vue 3.5 重磅新特性:useTemplateRef 让模板引用更优雅、更高效!

Vue 3.5 重磅新特性:useTemplateRef 让模板引用更优雅、更高效! 目录 前言 什么是 useTemplateRef 传统 ref 的问题 useTemplateRef 的优势 基础用法 进阶用法 最佳实践 迁移指南 性能对比 注意事项 总结 前言 Vue 3.5 带来了一个激动人心的新特性 useTemplateRef,它彻底革…

uni app 的app端 写入运行日志到指定文件夹。

uni app 的app 端 写入指定目录文件夹。并自动生成当前日期的日志文件。删除十日前的日志文件其中 writefile.js 代码如下const {default: logger } require("./logger")var name var url var params var method var resfunction setlog(name, url, params, method)…

桌面应用开发语言与框架选择指南

桌面应用开发的语言和框架选择非常丰富,从原生性能到跨平台解决方案应有尽有。下面我将它们分为几大类进行详细介绍,并附上各自的优缺点和适用场景。 一、 原生开发 (Native Development) 原生开发能提供最佳的性能和与操作系统最完美的集成体验。 1. …

C++知识

文章目录1.Cmap为什么线程不安全?2.map大量插入会有性能问题,为什么3.set的应用场景4.map set mutiset mutimap unordered_map unordered_set的底层实现、使用场景、优缺点1.Cmap为什么线程不安全? 其实STL中的容器都是线程不安全的,如果想要线程安全…

自学嵌入式第三十四天:网络编程-TCP

一、UDP用户数据报收发次数要对应;数据与数据之间有边界,多次调用收发时都是不同的数据报;接收方的数据大小>发送方的数据大小,如果接受方数据小了则会丢弃未读的部分,再次调用只会读下一包数据;二、服务…

Apache IoTDB:国产时序数据库的崛起与工业物联网的未来

📑前言 在工业物联网的浪潮中,数据不再是副产品,而是驱动决策的核心资产。"随着物联网、工业互联网和智能监控的迅猛发展,时序数据正以前所未有的速度爆发。据预测,到2025年全球物联网设备将达750亿台&#xff0c…

一键核验,安全无忧!手机号三要素详情版API,为您的业务筑牢身份认证防线

一、什么是手机号三要素核验API? 手机号三要素核验API 是一种通过编程接口,实时验证一条个人身份信息是否与该国运营商登记的实名信息一致的在线服务。 这里的“三要素”特指: 姓名 身份证号码 手机号码 核验过程:用户提交上述三个…

轻松上手 qData 数据中台开源版:Docker Compose 助你10分钟跑起来

说在前面 谁适合看这份指南? 初次接触 qData,希望快速体验功能的小伙伴不想折腾复杂环境配置和前端打包的人想用“一键启动”省事体验完整平台的用户 我们已经为你准备好“开箱即用”的完整部署包,包括: ✅ 前端静态资源&…

Qt读写Excel--QXlsx基本使用

1、概述 Document 类是一个用于操作 XLSX 文件的类,继承自 QObject。它提供了对 Excel 文件的读写操作,包括单元格的读写、图片和图表的插入、单元格合并、列和行的格式化、数据验证和条件格式化等功能。此外,它还支持对工作簿和工作表的操作…

P13929 [蓝桥杯 2022 省 Java B] 山 题解

缩减一下题目的意思,问区间 [2022,2022222022] 有多少个数是回文数并且先单调不减,后单调不增。 因为有这两条条件,我们可以得知在判断时只用判断前半段的每个数是不是和对面相应的位置相等,以及是否单调不减。 为什么不用看后半段…

Unity Android 文件的读写

配置AndroidManifest 文件在Assets 目录下查找AndroidManifest 文件&#xff0c;添加权限声明&#xff0c;在application 节点中添加requestLegacyExternalStorage 属性。<!-- 权限声明 --> <uses-permission android:name"android.permission.READ_EXTERNAL_STO…

Pydantic模型验证测试:你的API数据真的安全吗?

url: /posts/03b2afdf35f55dbaef631710ab6da82c/ title: Pydantic模型验证测试:你的API数据真的安全吗? date: 2025-09-03T23:46:18+08:00 lastmod: 2025-09-03T23:46:18+08:00 author: cmdragon summary: Pydantic在FastAPI中用于数据验证和序列化,通过Python类型注解自动…

【Proteus仿真】AT89C51单片机中断系列仿真——INT0中断控制LED小灯/INT0和INT1中断控制数码管

目录 0案例视频效果展示 0.1例子1&#xff1a;INT0控制LED闪烁 0.2例子2&#xff1a;INT0中断控制数码管计数 0.3例子3&#xff1a;INT0中断实现秒表功能 0.4例子4&#xff1a;INT0INT1中断控制数码管计数 1基础知识补充——中断系统 1.1 中断源一览 1.2 控制寄存器 1…

MTK Linux DRM分析(三十三)- MTK mtk_mipi_tx.c

一、MIPI PHY驱动简介 1. MIPI 协议分层 应用层:显示(DSI)、摄像头(CSI)。 协议层:定义像素/图像帧如何封装成数据包。 物理层(PHY):具体电气信号传输方式 —— 这里就是 D-PHY 或 C-PHY。 2. D-PHY(Differential PHY) 传输方式:差分信号(类似 LVDS/USB/PCIe …

G2D 图形加速器

文章目录G2D 图形加速器1. 功能简介1.1 矩形填充1.2 旋转和镜像 (rotate and mirror)1.3 透明度混合1.4 colorkey1.5 缩放 (Stretchblt)2. G2D 框架3. 全志 G2D 使用示例3.1 使用G2D实现图像旋转缩放3.2 实时预览中加入旋转缩放功能G2D 图形加速器 G2D模块主要实现图像旋转、数…