海康gige工业相机无驱动取像突破(c#实现,最后更新,你也可以移植到linux下去用)
买了3个海康的相机,最初测试成功的是500万相机。
然后写了一个通用版,害怕有问题,又买了600万的相机,测试果然不及格,花了九牛二虎之力找到一个小问题,就这个 if (changdu > 1000);
最后又买了一个1000万的相机,然后测试ok,现在放心了。
一共花了上千大洋。值不值呢?不知道,反正已经都做过了。
需要说的是,1,通用版无驱动gige相机突破都是针对海康相机,估计大华可以,都是黑白相机gm(gige mono8)。
2,测试basler200万相机,失败!估计mdvision也不行。
3,海康彩色相机也不行,2000万的测试了,失败!
4,不知道怎么优化,没有海康的sdk取像快!
5,程序可以改变曝光,但是有大于55000值时,反而变暗了,不知道是什么鬼!
6,问题的关键点在于,图像分包余数处理麻烦!
500万相机:8128*619+7616=5038848(2592*1944)
600万相机:8128*774+384=6291456(3072*2048)
1000万相机:8128*1298+2176=10552320(3840*2748)
三个相机兼容处理:
int changdu = socketRxRaw.Receive(m_buff9000);//与函数ReceiveFrom结果一样
if (changdu > 300)
// if (changdu > 1000)
//500wan xiangji zuihou yizhen 7616
{//600wan xiangji zuihou yizhen 384
//1000wan xiangji zuihou yizhen 2176 duo
通用程序,只改动两处,一个是:if (changdu > 300)这个。
另一个是: socketRxRaw.ReceiveBufferSize = (int)(5* 2500 * 2024*2);
给了更大图像的缓存buffer。
总体来说,是成功的!可以想象一下,把这个集成到megauging中去,替换海康的sdk,
那么这个程序一个dll都不用,全部自我实现!曾经想,能不能不用opencv呢?
现在可以回答这个问题了,可以!
曾经想,能不能写一个通用的gige工业相机sdk呢?现在也初步实现了!
曾经想,能不能不用国外机器视觉软件visionpro,ni,evisoion,halcon,自己写一个呢?
现在也完成了,虽然琢磨了十年有余,总算是磨了一把剑!
这或许也是我写博客,一直坚持原创的初心吧!
精诚所至,金石为开!
相关文章:
海康gige工业相机无驱动取像突破(c#实现,最后更新,你也可以移植到linux下去用)
买了3个海康的相机,最初测试成功的是500万相机。 然后写了一个通用版,害怕有问题,又买了600万的相机,测试果然不及格,花了九牛二虎之力找到一个小问题,就这个 if (changdu > 1000); 最后又…...
KAN-Transfomer——基于新型神经网络KAN的时间序列预测
1.数据集介绍 ETT(电变压器温度):由两个小时级数据集(ETTh)和两个 15 分钟级数据集(ETTm)组成。它们中的每一个都包含 2016 年 7 月至 2018 年 7 月的七种石油和电力变压器的负载特征。 traffic(交通) :描…...
使用OpenCV和卡尔曼滤波器进行实时活体检测
引言 在现代计算机视觉应用中,实时检测和跟踪物体是一项重要的任务。本文将详细介绍如何使用OpenCV库和卡尔曼滤波器来实现一个实时的活体检测系统。该系统能够通过摄像头捕捉视频流,并使用YOLOv3模型来检测目标对象(例如人)&…...
Node.js:开发和生产之间的区别
Node.js 中的开发和生产没有区别,即,你无需应用任何特定设置即可使 Node.js 在生产配置中工作。但是,npm 注册表中的一些库会识别使用 NODE_ENV 变量并将其默认为 development 设置。始终在设置了 NODE_ENVproduction 的情况下运行 Node.js。…...
实时数据开发 | Flink的数据分区策略--物理分区操作
物理分区操作 物理分区(physica1partitioning)操作的作用是根据指定的分区策略将数据重新分限到不同节点的 Task 实例上执行。当使用DataSteam提供的 API对数据处理过程中,赖于算子本身对数据的分区控制,如果用户希望自己控制数据分区,例如当…...
C++ 之弦上舞:string 类与多样字符串操作的优雅旋律
string 类的重要性及与 C 语言字符串对比 在 C 语言中,字符串是以 \0 结尾的字符集合,操作字符串需借助 C 标准库的 str 系列函数,但这些函数与字符串分离,不符合 OOP 思想,且底层空间管理易出错。而在 C 中࿰…...
ElementUI:el-drawer实现在父组件区域内打开抽屉组件非全屏
我们在开发ElementUI的时候遇到抽屉组件全屏的问题,但是我们需要在指定div中展示出来,上代码: 1、在el-drawer中增加属性 el-drawerstyle"position: absolute"z-index"-1":append-to-body"false">// do s…...
HarmonyOS开发中,如何高效定位并分析内存泄露相关问题
HarmonyOS开发中,如何高效定位并分析内存泄露相关问题 (1)Allocation的应用调试方式Memory泳道Native Allocation泳道 (2)Snapshot(3)ASan的应用使用约束配置参数使能ASan方式一方式二 启用ASanASan检测异常码 (4)HWASan的应用功能介绍约束条件使能HWASan方式一方式…...
Unity类银河战士恶魔城学习总结(P156 Audio Settings音频设置)
【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了音频的大小设置与保存加载 音频管理器 UI_VolumeSlider.cs 定义了 UI_VolumeSlider 类,用于处理与音频设置相关的…...
SpringMVC工作原理【流程图+文字详解SpringMVC工作原理】
SpringMVC工作原理 前端控制器:DispactherServlet处理器映射器:HandlerMapping处理器适配器:HandlerAdapter处理器:Handler,视图解析器:ViewResolver视图:View 首先用户通过浏览器发起HTTP请求…...
web五、元素尺寸和位置、节点操作(DOM,查找节点,增加节点,删除节点)、阶段案例
一、元素尺寸与位置 注意:offset家族返回不带单位的数字,而且都是只读的 1,元素尺寸(大小) 大小: offsetWidth和offsetHeight 获取元素的自身宽高、包含元素自身设置的宽高、padding、border 返回的是…...
Vue前端开发-路由树配置
一个配置路由的文件由导入路由模块、创建路由对象和导出路由对象三个部分组成,在创建路由对象时,需要构建路由数组,路由数组中包括一级、二级和多级路由结构,因此,这种结构的路由配置,又称为路由树配置。 …...
记录一次网关异常
记一次网关异常 网关时不时就会出现下面的异常。关键是不知道什么时候就会报错,并且有时候就算什么都不操作,也会导致这个异常。 ERROR org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in schedul…...
级联树结构TreeSelect和上级反查
接口返回结构 前端展示格式 前端组件 <template><div ><el-scrollbar height"70vh"><el-tree :data"deptOptions" :props"{ label: label, children: children }" :expand-on-click-node"false":filter-node-me…...
家政小程序开发,打造便捷家政生活小程序
目前,随着社会人就老龄化和生活压力的加重,家政服务市场的需求正在不断上升,家政市场的规模也正在逐渐扩大,发展前景可观。 在市场快速发展的影响下,越来越多的企业开始进入到市场中,同时家政市场布局也发…...
Redis和MySQL之间如何进行数据同步
原因 为什么要进行Redis和MySQL的数据同步? 性能优化:MySQL是关系型数据库,数据读取和存储相对复杂;Redis是内存数据库,读写速度极快,将热点数据存在Redis,可以大大提高系统的访问速度。 数据…...
Kafka的学习路径规划
目录标题 1. 记(记忆力)Kafka核心概念Kafka关键配置 2. 懂(理解力)Kafka工作原理Kafka核心功能Kafka架构设计 3. 网(知识网络)技术栈整合用例和场景 4. 拓(全面拓展)学习材料多样化内…...
SpringBoot 框架下基于 MVC 的高校办公室行政事务管理系统:设计开发全解析
2系统开发环境 2.1vue技术 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第…...
【JavaEE】Spring Boot 项目创建
目录 一、idea创建Spring Boot项目1.1 创建过程1.2 依赖下载问题 二、网页创建Spring Boot项目三、目录介绍四、运⾏项⽬,看是否创建成功4.1 请求响应流程分析 五、常见报错5.1 Whitelabel Error Page4.1.1 注解写错:5.1.2 500 ⽆法访问此⽹站 六、状态码…...
java垃圾回收机制介绍
Java垃圾回收机制(Garbage Collection, GC)是Java编程语言中的一项重要特性,它自动管理内存,释放不再使用的对象 1. 堆(Heap): • Java虚拟机(JVM)中用于存储对象实例的内…...
计算机视觉硬件知识点整理六:工业相机选型
文章目录 前言一、工业数字相机的分类二、相机的主要参数三、工业数字摄像机主要接口类型四、选择工业相机的考量因素六、实例分析 前言 随着科技的不断进步,工业自动化领域正经历着前所未有的变革。作为工业自动化的重要组成部分,工业相机在工业检测、…...
一种多功能调试工具设计方案开源
一种多功能调试工具设计方案开源 设计初衷设计方案具体实现HUB芯片采用沁恒微CH339W。TF卡功能网口功能SPI功能IIC功能JTAG功能下行USB接口 安路FPGA烧录器功能Xilinx FPGA烧录器功能Jlink OB功能串口功能RS232串口RS485和RS422串口自适应接口 CAN功能烧录器功能 目前进度后续计…...
鸿蒙NEXT开发笔记(十九)仿抖音快手App的相对布局
上一节我们利用photoAccessHelper实现了从相册挑选视频的功能,但在短视频APP界面,视频画面上还叠加了若干交互图标,包括但不限于:点赞、收藏、评论、分享等等。那么在某个组件上叠加显示其他组件,就用到了相对布局这个…...
微信小程序px和rpx单位互转方法
js代码如下 Page({data: {width: 0,width2: 0},onLoad: function (options) {let px this.pxToRpx(380)let rpx this.rpxToPx(730.7692307692307) // 检查两个互转是否是相同即可,例如pxToRpx(380)转成730.7692307692307 则rpxToPx(730.7692307692307)如果是380则代表互转没…...
WPF+LibVLC开发播放器-LibVLC在C#中的使用
LibVLC在C#中的使用 安装包Nuget使用控件使用播放器初始化加载视频文件 视频教程: 使用WPFLibVLC快速开发一个播放器 安装包Nuget 安装下面两个包,必须安装两个 一个是相关框架对应的包,Winform就安装LibVLCSharp.Winform;WPF就安装LibVLCSharp.WPF&am…...
【Unity基础】Unity中Transform.forward的详解与应用
在Unity中,Transform.forward 是一个常用属性,它表示物体的“前方”方向,即物体本地坐标系中 Z 轴(蓝色轴)在世界坐标系中的方向。它动态反映物体的旋转情况,非常适合用于移动、检测、方向控制等场景。 什么…...
01-树莓派基本配置-基础配置配置
树莓派基本配置 文章目录 树莓派基本配置前言硬件准备树莓派刷机串口方式登录树莓派接入网络ssh方式登录树莓派更换国内源xrdp界面登录树莓派远程文件传输FileZilla 前言 树莓派是一款功能强大且价格实惠的小型计算机,非常适合作为学习编程、物联网项目、家庭自动化…...
Milvus×OPPO:如何构建更懂你的大模型助手
01. 背景 AI业务快速增长下传统关系型数据库无法满足需求。 2024年恰逢OPPO品牌20周年,OPPO也宣布正式进入AI手机的时代。超千万用户开始通过例如通话摘要、新小布助手、小布照相馆等搭载在OPPO手机上的应用体验AI能力。 与传统的应用不同的是,在AI驱动的…...
《Python基础》之Pandas库
目录 一、简介 二、Pandas的核心数据结构 1、Series 2、DataFrame 三、数据读取与写入 1、数据读取 2、数据写入 四、数据清洗与处理 1、处理缺失值 2、处理重复值 3、数据转换 五、数据分析与可视化 1、统计描述 2、分组聚合 3、数据可视化 六、高级技巧 1、时…...
LeetCode Hot100 31~40
链表 31. K个一组翻转链表 题目不难理解 主要是怎么写出清晰易懂的代码 可以先分成K组 再排序 class Solution { public:ListNode* reverseKGroup(ListNode* head, int k) {ListNode* dummyHead new ListNode();dummyHead->next head;// 首先查看需要翻转几次int count…...
C语言(分支练习)
1.输⼊你的⾝⾼和体重,测试你的健康状况。 计算bmi的值, bmi (体重(kg)/⾝⾼(m)的平⽅) 如果bmi ⼩于18.5, 则显⽰“偏瘦,注意加强营 养” 如果bmi 在18.5和23.9之间&a…...
指针(上)
目录 内存和地址 指针变量和地址 取地址(&) 解引用(*) 大小 类型 意义 const修饰 修饰变量 修饰指针 指针运算 指针- 整数 指针-指针 指针的关系运算 野指针 概念 成因 避免 assert断言 指针的使用 strl…...
(笔记)vue3使用Element Plus全局引入icons
如果你想要在项目中直接使用 Element Plus 的图标 icons,而不需要在每次使用的时候都要引入,那么你可以参考本文。 1、图标下载 在使用 Element Plus 的图标前,需要先下载图标库。 npm $ npm install element-plus/icons-vue yarn $ ya…...
基于Matlab卡尔曼滤波的GPS/INS集成导航系统研究与实现
随着智能交通和无人驾驶技术的迅猛发展,精确可靠的导航系统已成为提升车辆定位精度与安全性的重要技术。全球定位系统(GPS)和惯性导航系统(INS)在导航应用中各具优势:GPS提供全球定位信息,而INS…...
大学阶段matlab期末考试所有一定会考的函数及其基本格式
1.矩阵操作相关函数 zeros函数 基本功能:创建全零矩阵。基本格式:A zeros(m,n),其中m和n分别表示矩阵的行数和列数,例如创建一个3X4的全零矩阵A,可以写为A zeros(3,4)。 ones函数 基本功能:创建全 1 矩…...
【linux】(23)对象存储服务-MinIo
MinIO 是一个高性能的对象存储服务,兼容 Amazon S3 API。 Docker安装MinIo 前提条件 确保您的系统已经安装了 Docker。如果还没有安装 Docker,可以参考 Docker 官方文档进行安装。 1. 拉取 MinIO Docker 镜像 首先,从 Docker Hub 拉取 Mi…...
Nginx学习-安装以及基本的使用
一、背景 Nginx是一个很强大的高性能Web和反向代理服务,也是一种轻量级的Web服务器,可以作为独立的服务器部署网站,应用非常广泛,特别是现在前后端分离的情况下。而在开发过程中,我们常常需要在window系统下使用Nginx…...
前端:localstorage, session
学习帖子 —总结— 要快速掌握 localStorage 和 sessionStorage 的核心知识,以下是最重要的20%,这将帮助你理解和操作80%的功能: 基本概念: localStorage 和 sessionStorage 是 Web Storage API 的一部分,用于在客户端…...
剖析一下自己的简历第二条
剖析一下自己的简历第二条 背景前置说明可能会被问到的问题 背景 剖析一下自己简历, 增加对一些专业知识的掌握. 我的简历第二条是这样写的: “2. 熟悉JVM、JMM,包括内存模型,垃圾回收机制,了解其基本调优技巧并具备线上调优经验。”. 前置…...
利用Docker一键发布Nginx-Tomcat-MySQL应用集群
Docker简介,可以看上一篇文章: 为什么互联网公司离不开Docker容器化,它到底解决了什么问题?-CSDN博客 Docker体系结构 docker核心就是镜像和容器: 镜像就是应用程序的安装文件,包含了所有需要的资源&…...
九,[极客大挑战 2019]LoveSQL1
进入靶场 随便输输 试试字符 报错了 根据以上4张图知是单引号闭合 还以为这是flag呢,白激动一场,,,,,,,,自闭了 有个搞笑的点,其实可以用sqlmap 不过咱不用哈…...
17 go语言(golang) - 错误处理
错误处理 错误处理是编程中用于识别、响应和恢复程序运行时出现的错误和异常情况的过程。其目的是确保程序的鲁棒性(一个系统、模型或函数在面对错误输入、工作压力、意外情况或故意攻击时仍能保持稳定性和可靠性的能力),即使在出现错误的情…...
前端跳转路由的时候,清掉缓存
清除路由缓存的方法 使用 $router.push() 方法:在跳转路由时,可以通过传递一个包含 replace: true 属性的对象来实现清除路由缓存。例如: this.$router.push({ path: "/new-route", replace: true }); 使用 $router.replace…...
CentOS使用chrony服务进行时间同步源设置脚本
CentOS使用chrony服务进行时间同步源设置脚本 #!/bin/bash# Created: 2024-11-26 # Function: Check and Set OS time sync source to 10.0.11.100 # FileName: centos_set_time_source_to_ad.sh # Creator: Anster # Usage: # curl http://webserver-ip/scripts/centos_set…...
AI RPA 影刀基础教程:开启自动化之旅
RPA 是什么 RPA 就是机器人流程自动化,就是将重复的工作交给机器人来执行。只要是标准化的、重复的、有逻辑行的操作,都可以用 RPA 提效 准备 安装并注册影刀 影刀RPA - 影刀官网 安装 Chrome 浏览器 下载链接:Google Chrome 网络浏览器 …...
深入解析Java集合框架:List集合及其实现类的应用与原理
|| 持续分享系列教程,关注一下不迷路 || || B站视频教程:墨轩大楼 || || 知识星球:墨轩编程自习室 || Java集合框架是Java编程语言中一个非常重要的组成部分,…...
MySQL需掌握到何种程度?才能胜任工作
大家好,我是袁庭新。星友问:MySQL需要学到什么程度?才能胜任日常的软件开发工作呢!以下是一些建议的学习目标和程度,这些目标旨在帮助你在工作中高效地使用MySQL。 数据库的基本概念、MySQL的安装及配置、SQL的概念、S…...
如何使用brew安装phpredis扩展?
如何使用brew安装phpredis扩展? phpredis扩展是一个用于PHP语言的Redis客户端扩展,它提供了一组PHP函数,用于与Redis服务器进行交互。 1、cd到php某一版本的bin下 /usr/local/opt/php8.1/bin 2、下载 phpredis git clone https://githu…...
力扣hot100道【贪心算法后续解题方法心得】(三)
力扣hot100道【贪心算法后续解题方法心得】 十四、贪心算法关键解题思路1、买卖股票的最佳时机2、跳跃游戏3、跳跃游戏 | |4、划分字母区间 十五、动态规划什么是动态规划?关键解题思路和步骤1、打家劫舍2、01背包问题3、完全平方式4、零钱兑换5、单词拆分6、最长递…...
时间同步服务器--Linux中
时间同步服务器 1. 时间同步服务 时间同步:多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等,利用NTP(Network Time Protocol )协议使网络中的各…...