笔记
文章平均质量分 66
单手搓木亥弓单
这个作者很懒,什么都没留下…
展开
-
AVL二叉平衡树的算法
#include<stdio.h>#include<stdlib.h>typedef struct btnode { int key; int bf; struct btnode* Lchild, * Rchild, * Father;}BTNode;typedef struct btree { struct btnode* Root;}BTree;BTNode* NewNode() { BTNode* p = (BTNode*)malloc(sizeof(BT原创 2021-12-21 23:08:00 · 213 阅读 · 0 评论 -
C#调用C++编写的DLL(非托管)
前言我之前有过一个函数使用C++写的,我想将它加到C#里面,用C#调用。结果我看了好多博主的博客,成功的把上面的坑一个一个都踩过了。(小声吐槽,话说这些博主不看自己的东西能不能跑起来吗。。。)那么,本篇博客就以实用的角度出发,介绍如何将C++编写的DLL供给C#调用。首先,托管与非托管的区别请看以下博客:我是传送门DLL(动态链接库)的各个C++关键字的介绍请看以下博客:我是传送门上面顺便介绍了静态链接库与动态链接库的区别。C++调用C++编写的DLL请看下述博客我是传送门本博客也顺便介原创 2021-09-15 22:45:44 · 844 阅读 · 0 评论 -
实时识别色子的点数的算法_OPENCV_C++篇
在以前的赌场中会有人出老千预先知道色子的点数,不清楚现在的国际赌场是否还有(话说我也不会去赌博的,哈哈哈哈哈哈)那么,本文就把这种用OPENCV_C++编写的实时识别色子点数的算法分享出来该算法并没有用到上一篇中用到的图像分割算法,距离变换以及分水岭。(小声的说,其实刚开始是用了,只不过效果很不好,所以就抛弃这两个东西,转而采用了OPENCV基本的形态学分析了)下面是分析的结果,可以看到,Halcon对于区域的处理真的是强大,OpenCV对区域处理要经过很多繁琐的操作。毕竟在工业上用的比较多的是Ha原创 2021-09-09 14:57:05 · 698 阅读 · 0 评论 -
实时识别骰子的点数_Halcon
在以前的赌场中会有人出老千预先知道色子的点数,不清楚现在的国际赌场是否还有(话说我也不会去赌博的,哈哈哈哈哈哈)那么,本文就把这种用Halcon编写的实时识别色子点数的算法分享出来本文会有两个关于图像分割的核心算法:距离变换与分水岭算法即distance_transform (ConnectedRegions, DistanceImage, ‘octagonal’, ‘true’, 1000, 1000)与watersheds_threshold (ImageScaleMax, Basins原创 2021-09-08 18:26:12 · 1383 阅读 · 0 评论 -
字符串加密与解密_一种可以用在程序加密的功能
本篇博客会有两篇代码,均为C# 编写而成。其中一篇为先行的各种加密技术如何使用(转载出处会在文末注明);另一篇为利用以上加密技术做出的一个类库,可以使程序捆绑在运行此程序的硬件并限定使用时间,十分高效和耐用。好,话不多说,先上第一篇: 各种加密技术:AES(转自百度百科)高级加密标准密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES(Data Encrypti原创 2021-08-27 21:57:14 · 7735 阅读 · 0 评论 -
Python_OpenCV_实现模糊集合用于图像增强(对比度提升,空间滤波)
本文部分内容来自:https://blog.csdn.net/qq_37764129/article/details/82893966模糊集的详细原理请看冈萨雷斯的数字图像处理教程,这里不再详细赘述。下面将模糊集用于图像增强的步骤罗列如下:使用模糊集合来进行灰度变换,从而增强图像。首先可以在常理下考虑一下,一般的对于动态范围较小的图像,我们一般的处理的方法是灰度拉升,或者直方图均衡。这两种的方法的本质就是,让原图较暗的像素更加暗,让原图较亮的像素更加亮。那么,我们规定如下模糊规则R1:IF 一个原创 2021-03-08 23:43:19 · 1953 阅读 · 1 评论 -
Python_OpenCV_Numppy实现8比特图像平面分层
对于256级的8位灰度图,将每一位的灰度拆分出来,生成对应的二值图像,并将不同层次的灰度二值图像组合可以在不损失图像精度的前提下降低图像存储空间。对应的做法是将不同层次的二值图像分别乘以对应的常数,然后相加即可。实验证明,将第5,6,7,8层分层二值图像分别乘以对应的对应的常数相加,生成的图像极为接近原图,而且所占用空间变小。下面我们先分拆灰度原图,将其拆分成8层二值图像。我们知道,灰度级(0_255)可以用二进制表示,比如灰度值为125的像素,用二进制表示为 0111 1101 ,所以它是在第7位原创 2021-02-28 14:57:39 · 1137 阅读 · 5 评论 -
无向数据网的最小代价生成树:Prim算法
说实话,教科书上的案例是错误的,Prim算法没有那么简单,短短的几行代码根本实现不了。不过仍然向它致敬,因为理论讲的很透彻,我也是根据理论写出来这个复杂代码的,本算法的基本数据结构是邻接表。Prim算法简介:(这里转载网友的介绍~)最小生成树问题的概念—普里姆算法是从点的角度来解决。若在解决问题过程中需要遍历图的所有点,则普里姆算法更好。基本思想:普里姆算法更像构建一棵树。联想我们构建二叉树的过程,从根节点出发,构建左右子树,再以左右子树为根节点,构建它们的左右子树。普里姆算法设一个点集V,初始时只原创 2020-09-21 23:19:01 · 843 阅读 · 0 评论 -
二叉平衡树的算法(C语言)
二叉平衡树的算法(C语言)二叉平衡树是一种特殊的二叉搜索树,其在搜索上的时间复杂度基本上是线性表与二叉树中最小的,因此是一个非常非常重要的知识点,且应用十分广泛。本文的算法基于二叉搜索树的插入与删除算法演变而来。另外构造了3个函数,而这三个函数BFInitiate(), RightRotation(), LeftRotation()在本算法中是十分最重要的。本文采用三重链表,可以从零开始构造二叉平衡树,自动旋转保持树的平衡;又可以删除二叉平衡树的某个节点(包括根节点),删除后也可以自动旋转保持平衡。原创 2020-09-10 21:30:47 · 267 阅读 · 0 评论 -
C语言,哈夫曼编码
C语言,哈夫曼编码。采用三重链表创建二叉树,另外又设计了函数实现建立哈夫曼树,编码哈夫曼树。源代码中还包括了递归方法先序,中序,后序遍历二叉树,以及非递归方法按层次遍历二叉树。当然也可对哈夫曼树实现上述遍历。该程序也可计算二叉树节点数量,高度,叶子结点数量,对叶子结点按层次遍历。最后根据叶子结点实现哈夫曼编码。#include<stdio.h>#include<stdlib.h>typedef struct btnode {int element;struct btnode原创 2020-09-03 22:26:48 · 317 阅读 · 0 评论