海康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,自己写一个呢?

现在也完成了,虽然琢磨了十年有余,总算是磨了一把剑!

这或许也是我写博客,一直坚持原创的初心吧!

精诚所至,金石为开!

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

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

相关文章

Linux -初识 与基础指令1

博客主页:【夜泉_ly】 本文专栏:【Linux】 欢迎点赞👍收藏⭐关注❤️ 文章目录 📚 前言🖥️ 初识🔐 登录 root用户👥 两种用户➕ 添加用户🧑‍💻 登录 普通用户⚙️ 常见…

Elasticsearch在liunx 中单机部署

下载配置 1、下载 官网下载地址 2、上传解压 tar -zxvf elasticsearch-XXX.tar.gz 3、新建组和用户 (elasticsearch 默认不允许root账户) #创建组 es groupadd es #新建用户 useradd ryzhang -g es 4、更改文件夹的用户权限 chown -R ryzhang …

Refit 使用详解

Git官网:https://github.com/reactiveui/refit Refit 是一个针对 .NET 应用程序的 REST API 客户端库,它通过接口定义 API 调用,从而简化与 RESTful 服务的交互。其核心理念是利用声明性编程的方式来创建 HttpClient 客户端,使得…

《山海经》:北山

《山海经》:北山 北山一经单狐山求如山(水马:形状与马相似,滑鱼:背部红色)带山(䑏疏:似马,一只角,鵸鵌:状乌鸦五彩斑斓,儵鱼&#xff…

使用gemini-1.5-pro-002做视频检测

使用Google Cloud Video Intelligence API做视频检测最大的缺陷是无法自定义规则,若使用gemini-1.5-pro-002多模拟模型,则可以自定义检测的规则,具有更好的灵活性。 安装SDK pip install --upgrade google-cloud-aiplatform gcloud auth ap…

动态规划——子序列问题

文章目录 目录 文章目录 前言 一、动态规划思路简介 二、具体实现 1. 字符串问题 1.1 最长公共字符串 1.2.0 最长回文子串 1.2.1 最长回文子序列 2.编辑距离问题 2.1 判断子序列 2.2 编辑距离 总结 前言 上文提到动态规划的背包问题,本文继续介绍动态…

Ubuntu24.04配置DINO-Tracker

一、引言 记录 Ubuntu 配置的第一个代码过程 二、更改conda虚拟环境的默认安装路径 鉴于不久前由于磁盘空间不足引发的重装系统的惨痛经历,在新系统装好后当然要先更改虚拟环境的默认安装路径。 输入指令: conda info可能因为我原本就没有把 Anacod…

vulnhub靶场【哈利波特】三部曲之Aragog

前言 使用virtual box虚拟机 靶机:Aragog : 192.168.1.101 攻击:kali : 192.168.1.16 主机发现 使用arp-scan -l扫描,在同一虚拟网卡下 信息收集 使用nmap扫描 发现22端口SSH服务,openssh 80端口HTTP服务,Apach…

顶刊算法 | 鱼鹰算法OOA-BiTCN-BiGRU-Attention多输入单输出回归预测(Maltab)

顶刊算法 | 鱼鹰算法OOA-BiTCN-BiGRU-Attention多输入单输出回归预测(Maltab) 目录 顶刊算法 | 鱼鹰算法OOA-BiTCN-BiGRU-Attention多输入单输出回归预测(Maltab)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实…

getchar()

getchar():从计算机终端(一般是键盘)输入一个字符 1、getchar返回的是字符的ASCII码值(整数)。 2、getchar在读取结束或者失败的时候,会返回EOF 输入密码并确认: scanf读取\n之前的内容即12345678 回车符…

动态规划-----路径问题

动态规划-----路径问题 下降最小路径和1:状态表示2:状态转移方程3 初始化4 填表顺序5 返回值6 代码实现 总结: 下降最小路径和 1:状态表示 假设:用dp[i][j]表示:到达[i,j]的最小路径 2:状态转…

网络安全防护指南

网络安全防护指南 网络安全是指保护网络系统中的硬件、软件及数据不受偶然或恶意原因而遭到破坏、更改或泄露,确保网络系统连续可靠地正常运行。随着互联网的普及和技术的发展,网络安全问题日益严峻,对个人、企业和国家都构成了巨大威胁。因…

实现PDF文档加密,访问需要密码

01. 背景 今天下午老板神秘兮兮的来问我,能不能做个文档加密功能,就是那种用户下载打开需要密码才能打开的那种效果。boss都发话了,那必须可以。 需求:将 pdf 文档经过加密处理,客户下载pdf文档,打开文档需…

HarmonyOS Next 模拟器安装与探索

HarmonyOS 5 也发布了有一段时间了,不知道大家实际使用的时候有没有发现一些惊喜。当然随着HarmonyOS 5的更新也带来了很多新特性,尤其是 HarmonyOS Next 模拟器。今天,我们就来探索一下这个模拟器,看看它能给我们的开发过程带来什…

深入探索进程间通信:System V IPC的机制与应用

目录 1、System V概述 2.共享内存(shm) 2.1 shmget — 创建共享内存 2.1.2 ftok(为shmmat创建key值) 2.1.3 为什么一块共享内存的标志信息需要用户来传递 2.2 shmat — 进程挂接共享内存 2.3 shmdt — 断开共享内存连接 2.4…

多线程运行时,JVM(Java虚拟机)的内存模型

在多线程运行时,JVM(Java虚拟机)的内存模型主要涉及以下几个方面: 1. 主内存和工作内存 JVM内存模型定义了主内存和工作内存的概念。主内存是所有线程共享的内存区域,而工作内存是每个线程私有的内存区域。线程对变量…

Rust : 生成日历管理markdown文件的小工具

需求: 拟生成以下markdown管理小工具,这也是我日常工作日程表。 可以输入任意时间段,运行后就可以生成以上的markdown文件。 一、toml [package] name "rust-workfile" version "0.1.0" edition "2021"[d…

记一次 Golang pkg 性能提升 38147125738.8 倍之旅

我正在使用 linux-open-ports 项目来获取系统上当前打开的端口列表。不过我注意到实现速度比我预期的要慢一点,所以我开始调查、分析、修改并使整个过程,使其性能提升了 38147125738.8 倍。下面我对整个过程做一个详细叙述。 1 基线 Go 提供了通过基准测…

mean,median,mode,var,std,min,max函数

剩余的函数都放在这篇里面吧 m e a n mean mean函数可以求平均值 a a a为向量时, m e a n ( a ) mean(a) mean(a)求向量中元素的平均值 a a a为矩阵时, m e a n ( a , 1 ) mean(a,1) mean(a,1)求矩阵中各列元素的平均值; m e a n ( a , 2 )…

带Burst AOT Settings移植问题

报错 burst问题 Burst AOT Settings 是 Unity 的 Burst Compiler 的一部分,用于预编译程序集(AOT,Ahead-Of-Time Compilation),以便在不支持 JIT(即时编译)的平台上运行,例如 iOS 和…