自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 USB HID在系统下通信的一些总结

这篇文章主要介绍在PC(或者上位机,Host)端,通过HID与硬件进行通信的一些总结,像很多同学肯定和我一样压根不想 去了解什么USB相关的资料,毕竟USB太复杂了,只想有个api给我们进行下数据就好了,像这里主要总结我在进行hid通信总结。以下理解只是站在PC开发软件时的角度,所以讲述的一些USB知识特别不详细USB 简单介绍这里只是简单描述一下USB,如果感兴趣的同学可以去查看《从零开始学USB》,作者:to-run-away,这是介绍USB一个系类的文章,讲的特别详细。USB传输类型

2023-11-07 17:15:28 2058

原创 MacOS 使用WireShark抓包USB

MacOS 使用WireShark抓包USB安装WireShark检查是否开启SIP关闭/开启 SIP关闭SIP开启SIP开启USB端口监控获取USB设备位置ID(Location ID)WireShark抓包参考资料本人使用的OS版本是11.4,旧版本OS可能会有所不同。安装WireShark首先我们去WireShark官网下载软件https://www.wireshark.org/并且进行安装。检查是否开启SIP检查系统是否开启了SIP( System Integrity Protecti

2021-07-11 11:51:40 7706 3

原创 C#调用C++函数传入回调函数出现空引用问题

文章目录一、先看测试代码二、查看传入的函数地址1.直接传入函数2.传入委托3.小结二、测试空引用BUG1.直接传入函数2.直接传入委托总结# 前言C#调用C++函数时,如果C++函数需要传入回调函数,当C#调用时,如果直接传入函数作为参数的话,那么Release版本运行时就会出现**System.NullReferenceException: 未将对象引用设置到对象的实例。**这个异常问题。(Debug测试了一个晚上没出现不清楚为啥)这是由于直接传入函数作为参数的话,C#会自动构建一个委托传给C++,

2021-06-20 10:41:13 1475

原创 C# 多进程通信 命名管道IPC

最近项目需要多个进程进行通信,以前用过共享内存,HTTP这些方法进行通信,但是每次都需要自己对方法进行各种封装,比较麻烦,后面在Github上找到了两个项目,感觉他们封装的比较好,不需要我们重复造轮子了。EasyPipesEasyPipes底层使用了命名管道,然后进行了封装可以让我们像调用本地方法一样调用其他进程的方法。使用起来很简单,下面是他github的例子:一共三部分:定义公共接口:public interface IService{ int Sum(int one,

2020-06-03 21:09:55 1114

原创 WPF Image显示图片变大问题?

最近使用Image显示图片,我想让Image显示图片为图片本身大小,因此设置Stretch属性为None,但是显示出来的图片比原是图片大一些,而且比较模糊。最后找到原因,这和WPF默认渲染以96dpi渲染,而我美工给的图片属性是72dpi所以导致出现这样的问题。解决办法:第一种:手动设置Image的Width和Height和图片一样的大小。第二种:让美工将也导出96dpi的图片。...

2020-05-18 19:07:21 2299

原创 Windows计划任务开机启动程序

前言Windows下需要管理员权限的开机程序启动时,如果Windows UAC等级设置的比较高,那么总是会提示是否启动某某程序的对话框,这对于用户来说体验非常不好,但是通过计划任务来设置程序以管理员身份启动就可以完全避免。下面是C++和C#的实现代码,直接拿来用即可。C++代码 此代码是参考MSDN的里面,稍微进行了一点修改。MSDN例子#define _CRT_SECU...

2019-08-22 09:47:28 3782 1

原创 WIN10 以管理员权限设置开机启动的问题

https://blog.csdn.net/arrowzz/article/details/69808761

2019-07-04 18:43:19 9386 2

原创 .net 4.5.2使用WebHttpRequest访问某些网站提示远程主机强制关闭现有链接的问题?

在使用.net 4.5.2的 web功能去抓包某些网站的数据,突然碰到一个网站,总是提示远程主机强制关闭现有链接,但是使用浏览器一直可以正常访问,一开始以为是Header没有写好,就按照浏览器的Header去添加Header,但是不管怎么弄还是出现这个异常,于是新建.net Core2.0的项目,使用WebHttpRequest可以正常访问,后来想是不是.net 4.5.2的BUG,于是将.ne...

2019-06-21 01:34:37 1181

原创 window 系统托盘不自动隐藏

https://hianz.wordpress.com/2013/09/03/new-windows-tray-notification-manager-is-here/1.PowerShell脚本实现原文链接例子:将下面代码复制到一个脚本中去例如123.ps1,执行时输入 ./123.ps1 myapp.exe < 显示参数>(0=不活动时隐藏 1=总是隐藏 2=总是显...

2019-06-17 18:20:48 519

原创 C#与JS UTC时间相互转换

UTCUTC时间具体是什么也不清楚,可以理解为从某一个时间点开始比如(1970.1.1 0:0:0)开始到另外一个时间,比如2019.1.1 0:0:0所经历的秒数或者毫秒数或者其他计时单位。JS和C#计时的区别JS中的UTC计数:JS中Date类的UTC函数 返回公元1970 年 1 月 1 日 到指定日期的毫秒数。C#中的UTC计数:C#中ToFileTimeUtc函数返回公...

2019-04-18 17:50:21 1087

原创 QT/VS 更改输出文件名

项目属性&gt;配置属性&gt;常规&gt;目标文件名 项目属性&gt;配置属性&gt;连接器&gt;常规&gt;输出文件这两个都要改成一样的否则无法输出想要的名字。

2018-08-22 09:56:09 1747

原创 C++ Http访问Cpr开源库编译

Cpr开源库编译Cpr是一个简单好用Http访问开源库,它是对Curl库进行第二次封装,所以对于基本的Http访问很简单,不过根据官方文档说明目前还不支持https,不过未来会加上去不知道什么时候,当前日期2018.8.16:比如Get请求:auto r = cpr::Get(cpr::Url{&amp;amp;amp;quot;http://www.httpbin.org/get&amp;amp;amp;quot;}, ...

2018-08-16 16:52:35 9014

原创 c++ 序列化库iguana使用总结

c++ 序列化库iguana使用总结iguana是一个轻量的c++序列化库,可以将c++类序列化成json或者xml,只需引用头文件就可以使用,但是只支持c++17。 github:https://github.com/qicosmos/iguana序列化成JSON以下是引用的官方的例子:struct person{ std::string name; ...

2018-07-04 20:38:28 4929

原创 C++保存Bitmap图片

关于Bitmap图片4字节对齐,Bitmap图片保存到磁盘时为什么需要4字节对齐,可以参考https://blog.csdn.net/xiaosuanzaowb/article/details/8067941关于位图数据怎么4字节对齐:假如一张2*2的RGB图片如下:那么它在内存中数据理论应该为(图片数据在内存中是连续的,也就是说一行数据紧接着另一行数据,这里为了直观所以布局成这样)(0xFF 0...

2018-03-27 17:58:06 6453

原创 关于QT QLayout

在Qt 中,QWidget有两个属性maximumSize和minimumSize ,这两个分别表示窗口大小能拉伸到的最大值,以及能缩小到的最小值。这两个属性通过这个两个函数设置,setMaximumSize(const QSize &),setMinimumSize(const QSize &)。在查看文档中发现有一个setFixedSize(const QSize &s)函数,这个

2017-11-08 14:40:06 4847 1

原创 关于Effect11 中D3DX11CompileEffectFromMemory返回E_NOITERFACE问题总结。

最近在vs2015使用dx11,使用了微软提供的Effect11进行shader编译,写代码时还是非常顺利,和dx9x或者dx10x提供方法一样非常方便,但是到编译运行时,D3DX11CompileEffectFromMemory报出返回E_NOITERFACE的错误结果。网上找方法解决,发现国外一网站有人问出这个问题,但是和我的情况不一样,(问题连接:https://stackoverflo

2017-10-26 12:01:37 1081

原创 Inno Setup 已经安装好程序后,再次运行安装包无法选择安装路径的问题。

Inno Setup 已经安装好程序后,再次运行安装包,假如没有出现选择安装路径的窗口,就在[Setup] 节点下添加UsePreviousAppDir=no 就可解决。

2017-08-10 16:08:38 4335 2

原创 Opencv学习-LUT函数

LUT(LOOK -UP-TABLE)查找表,我表达能力不好,加上对这个了解的不是很深刻,对于LUP具体解释用文字不好说。不过看下面例子应该可以看懂。首先我们看单通道图像。       对于8位单通道图片,其像素灰度为0-255,假如我们想将图像某一灰度值换成其他灰度值,用查找就很好用。  例如:我们想将一张图片灰度为0-100的像素的灰度变成0,101-200的变成100,2

2016-12-27 21:17:46 31722 17

原创 多阈值处理利用双Otsu阈值-C#实现-基于EmguCv

对于一张图片,Otsu处理是寻找一个最适阈值进行分隔,而此算法是改进,寻找两个最适阈值,将图片分割成3个部分。吃算法的理论可以参考《数字图像处理第三版-冈萨雷斯》10.3.6节,这里不予写出。下面是代码:    /// /// 最适双阈值处理 /// /// 要处理的图片 /// 第一个区域要填充的灰

2016-09-22 19:36:32 3055 1

原创 利用边缘改进全局阈值处理-c#实现-基于EmguCv

关于边缘改进全局阈值处理基本实现是: 1.先计算其边界,利用拉普拉斯或者梯度变换都以。 2.计算变化后边界图像的绝对值3.指定一个阈值(一般以百分比的形式指定,比如我指定90%,如果存在有灰度k,灰度小于K的像素总数占全部像素的90%,那么K就是我们要求的灰度)4.对2中计算完的图像进行阈值变换,转化为2值图像5.用4中计算得到的二值图像乘原始图像。6.计算5中计算的到的图

2016-09-22 02:40:46 3421

原创 Otsu最佳全局算法c#实现-基于EmguCV

算法网上有很多详细介绍的,这里就不讲,只贴代码,本人是根据《数字图像处理第三版》冈萨雷斯 里面所描述,再根据自己的理解写出来的,可能会存在一些问题。代码也没进行优化,可能运行速度比较慢。此函数根据输入的图像返回其最适应阈值。 public static int OtsuThreshold(Mat image) { if (imag

2016-09-22 02:29:41 2805 1

原创 EmguCv学习--AdaptiveThreshold函数

EmguCv学习--AdaptiveThreshold函数

2016-09-01 16:11:20 2419

libqr-可直接编译

此资源将qrcode里面需要引用zilb的模块删除,但是无法将图片保存为png,tiff。此项目直接解压再使用vs2015即可打开进行编译.(c**n真恶心,还不能让资源免费提供下载。)

2018-05-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除