
学习过程
文章平均质量分 90
anjisi
方向也许是最重要的。
展开
-
C# 多进程通信 命名管道IPC
最近项目需要多个进程进行通信,以前用过共享内存,HTTP这些方法进行通信,但是每次都需要自己对方法进行各种封装,比较麻烦,后面在Github上找到了两个项目,感觉他们封装的比较好,不需要我们重复造轮子了。EasyPipesEasyPipes底层使用了命名管道,然后进行了封装可以让我们像调用本地方法一样调用其他进程的方法。使用起来很简单,下面是他github的例子:一共三部分:定义公共接口:public interface IService{ int Sum(int one,原创 2020-06-03 21:09:55 · 1205 阅读 · 0 评论 -
WPF Image显示图片变大问题?
最近使用Image显示图片,我想让Image显示图片为图片本身大小,因此设置Stretch属性为None,但是显示出来的图片比原是图片大一些,而且比较模糊。最后找到原因,这和WPF默认渲染以96dpi渲染,而我美工给的图片属性是72dpi所以导致出现这样的问题。解决办法:第一种:手动设置Image的Width和Height和图片一样的大小。第二种:让美工将也导出96dpi的图片。...原创 2020-05-18 19:07:21 · 2506 阅读 · 0 评论 -
Windows计划任务开机启动程序
前言Windows下需要管理员权限的开机程序启动时,如果Windows UAC等级设置的比较高,那么总是会提示是否启动某某程序的对话框,这对于用户来说体验非常不好,但是通过计划任务来设置程序以管理员身份启动就可以完全避免。下面是C++和C#的实现代码,直接拿来用即可。C++代码 此代码是参考MSDN的里面,稍微进行了一点修改。MSDN例子#define _CRT_SECU...原创 2019-08-22 09:47:28 · 3896 阅读 · 1 评论 -
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 · 582 阅读 · 0 评论 -
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 · 1151 阅读 · 0 评论 -
QT/VS 更改输出文件名
项目属性>配置属性>常规>目标文件名 项目属性>配置属性>连接器>常规>输出文件这两个都要改成一样的否则无法输出想要的名字。原创 2018-08-22 09:56:09 · 1807 阅读 · 0 评论 -
C++ Http访问Cpr开源库编译
Cpr开源库编译Cpr是一个简单好用Http访问开源库,它是对Curl库进行第二次封装,所以对于基本的Http访问很简单,不过根据官方文档说明目前还不支持https,不过未来会加上去不知道什么时候,当前日期2018.8.16:比如Get请求:auto r = cpr::Get(cpr::Url{&amp;amp;quot;http://www.httpbin.org/get&amp;amp;quot;}, ...原创 2018-08-16 16:52:35 · 9568 阅读 · 0 评论 -
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 · 5545 阅读 · 0 评论 -
C++保存Bitmap图片
关于Bitmap图片4字节对齐,Bitmap图片保存到磁盘时为什么需要4字节对齐,可以参考https://blog.youkuaiyun.com/xiaosuanzaowb/article/details/8067941关于位图数据怎么4字节对齐:假如一张2*2的RGB图片如下:那么它在内存中数据理论应该为(图片数据在内存中是连续的,也就是说一行数据紧接着另一行数据,这里为了直观所以布局成这样)(0xFF 0...原创 2018-03-27 17:58:06 · 6614 阅读 · 0 评论 -
关于QT QLayout
在Qt 中,QWidget有两个属性maximumSize和minimumSize ,这两个分别表示窗口大小能拉伸到的最大值,以及能缩小到的最小值。这两个属性通过这个两个函数设置,setMaximumSize(const QSize &),setMinimumSize(const QSize &)。在查看文档中发现有一个setFixedSize(const QSize &s)函数,这个原创 2017-11-08 14:40:06 · 5371 阅读 · 1 评论 -
Otsu最佳全局算法c#实现-基于EmguCV
算法网上有很多详细介绍的,这里就不讲,只贴代码,本人是根据《数字图像处理第三版》冈萨雷斯 里面所描述,再根据自己的理解写出来的,可能会存在一些问题。代码也没进行优化,可能运行速度比较慢。此函数根据输入的图像返回其最适应阈值。 public static int OtsuThreshold(Mat image) { if (imag原创 2016-09-22 02:29:41 · 2850 阅读 · 1 评论 -
Opencv学习-LUT函数
LUT(LOOK -UP-TABLE)查找表,我表达能力不好,加上对这个了解的不是很深刻,对于LUP具体解释用文字不好说。不过看下面例子应该可以看懂。首先我们看单通道图像。 对于8位单通道图片,其像素灰度为0-255,假如我们想将图像某一灰度值换成其他灰度值,用查找就很好用。 例如:我们想将一张图片灰度为0-100的像素的灰度变成0,101-200的变成100,2原创 2016-12-27 21:17:46 · 32575 阅读 · 17 评论 -
利用边缘改进全局阈值处理-c#实现-基于EmguCv
关于边缘改进全局阈值处理基本实现是: 1.先计算其边界,利用拉普拉斯或者梯度变换都以。 2.计算变化后边界图像的绝对值3.指定一个阈值(一般以百分比的形式指定,比如我指定90%,如果存在有灰度k,灰度小于K的像素总数占全部像素的90%,那么K就是我们要求的灰度)4.对2中计算完的图像进行阈值变换,转化为2值图像5.用4中计算得到的二值图像乘原始图像。6.计算5中计算的到的图原创 2016-09-22 02:40:46 · 3554 阅读 · 0 评论 -
EmguCv学习--AdaptiveThreshold函数
EmguCv学习--AdaptiveThreshold函数原创 2016-09-01 16:11:20 · 2487 阅读 · 0 评论 -
多阈值处理利用双Otsu阈值-C#实现-基于EmguCv
对于一张图片,Otsu处理是寻找一个最适阈值进行分隔,而此算法是改进,寻找两个最适阈值,将图片分割成3个部分。吃算法的理论可以参考《数字图像处理第三版-冈萨雷斯》10.3.6节,这里不予写出。下面是代码: /// /// 最适双阈值处理 /// /// 要处理的图片 /// 第一个区域要填充的灰原创 2016-09-22 19:36:32 · 3147 阅读 · 1 评论