- 博客(47)
- 收藏
- 关注
原创 float数据转为unsigned short示例代码
特别注意:float数据转为unsigned short时,注意小于0和大于65535的值,如果直接赋值都会被转为0值,我们需要判断一下,做个截断;
2025-02-18 16:45:25
222
原创 vs2022配置ipp算法库
通过百度网盘分享的文件:w_BaseKit_p_2024.2.1.101_offline.exe。通过百度网盘分享的文件:w_BaseKit_32bit_p_2024.2.1.7_offlin…–来自百度网盘超级会员V6的分享。–来自百度网盘超级会员V6的分享。
2024-10-21 09:21:37
515
1
原创 vs2022配置opencv静态库
本文将在windows10环境下,vs2022+Cmake3.24.4编译opencv静态库,包括win32-release,win32-debug, x64-release, x64-debug四种;文章内容有点长,请耐心看下去。
2024-10-12 14:48:28
2046
2
原创 vs2022安装教程
操作:到类似C:\Program Files (x86)\Intel\oneAPI\ipp\2021.12\env路径下,双击vars.bat脚本文件。双击运行安装ipp,最重要的一步, 安装完需要配置ipp到path环境中。3、授权码:VHF9H-NXBBB-638P6-6JHCY-88JWH。点击download,进入下载页面,选择windows离线版本。在【帮助】菜单,选择输入授权码,即可。下载的很快,下载好是截图中的文件。
2024-10-08 11:34:43
1102
原创 ubuntu16.04升级cmake版本至3.21.0
相对来说。ubuntu16.04是比较稳定一版,但其默认安装的cmake版本是3.5.1,假如我们需要用到更高的cmake版本,则需要手动升级cmake版本号。以cmake3.5.x升级到cmake3.21.x为例,升级步骤如下:先检查ubuntu16.04系统中cmake版本,终端执行命令。
2024-06-17 13:47:44
1336
原创 # VS2013环境下安装IPP2019失败,解决方案
遇到的问题:运行IPP2019(w_ipp_2019.4.245)安装软件闪退。解决方法:软件右击选择兼容性疑难解答,解决。
2024-04-28 14:42:26
238
原创 Unable to start program bug解决方法
今天调用动态库的时候提示Unable to start program bug,错误提示如下:这个问题主要发生在一个sln, 集成多个工程, 又将dll工程设置为主调用程序了;解决方法很简单,将带main函数的工程,右击属性,选择将Set as StartUp Project ,将本工程设置为主程序,调用其他工程生成的dll。...
2022-05-18 21:27:45
2422
原创 C++指针使用误区及应对方法
最近在使用指针的时候发现一个问题,new了一个指针p, delete 的时候报错了,具体代码如下。/* 错误示范 */#ifndef FLOATtypedef float FLOAT;#endifFLOAT * pMeanB2 = NULL;pMeanB2 = new FLOAT [W];/*....*/FLOAT* err = new FLOAT[xx];for (int col = 0 ; col < xx; col++){ err[col] = abs(*pMean
2022-01-06 14:15:44
526
原创 C/C++实现matlab的imfill()函数
matlab移植C/C++代码时,发现不管是opencv还是IPP库都没有填充联通区域函数imfill(),于是只能自己动手了。先展示一下imfill()函数的功能,如下图:上图中,左图是一个二值图像,白色是手臂边缘像素值为1,黑色区域像素值为0,现在想将手臂填充1,用imfill()函数可以实现该功能,但C/C++代码需要自己实现。C/C++代码:bool imFill(Ipp8u *img, int width, int height){ vector<int> q; int
2021-09-25 10:12:17
2643
原创 2021-05-26debug心得
可能是最近太累了,一个简单的bug也卡了半天,检查不出问题就想通过重启电脑这种笨方法碰运气,想到找同事帮忙,但是想到要培养自己独立解决问题的能力也放弃了,结果百度一下2秒钟解决。啰嗦一堆,就是想告诉自己,正视问题才可以解决问题,调整好心态吧...
2021-05-26 15:35:29
121
原创 NVIDIA® GPU的TCC模式与WDDM模式
NVIDIA Tesla/Quadro 系列高端 GPU 在 Windows 环境下可以配置为 Tesla 计算集群(Tesla Compute Cluster,简称 TCC)模式或 Windows 显示驱动模型(Windows Display Driver Model,简称 WDDM)模式。两种模式有不同适用场景。TCC:该模式下,GPU 完全用于计算,不能作为本地显示输出。WDDM:该模式下,GPU 既用于计算又用于本地显示输出。切换至 WDDM 模式命令:nvidia-smi -dm 0切换
2021-05-21 14:19:56
11485
原创 CUDA安装教程及调试:本机win10+vs2013+NVIDIA GeForce GTX 1050Ti
本人的电脑配置:本机win10+vs2013+NVIDIA GeForce GTX 1050Ti1、CUDA加速环境配置,主要包括四项:1)电脑配有GPU图形处理器2)安装NVIDA驱动3)安装VS开发环境(一个C语言编译器)4)CUDA开发包简单的说,想要用CUDA加速电脑需要有支持CUDA加速的图形处理器,这个电脑买了就带了;并且安装NVIDA驱动,版本可能受限于GPU显卡的型号,后面我想CUDA调试的时候发现显卡决定了的cuda调试器版本,也决定了cuda版本,不了解的慢慢看.
2021-05-19 15:40:44
1742
1
原创 关于DLL与lib的区别如下
引言• 什么是库:库是写好的现有的,成熟的,可以复用的代码。• 所谓静态、动态是指链接。将一个程序编译成可执行程序的步骤:静态库在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中。因此对应的链接方式称为静态链接。...
2021-02-25 14:19:03
213
原创 学习《操作系统》:进程与线程
一、进程:进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。对于操作系统而言,其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务。二、线程:线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在
2020-10-26 11:02:06
261
原创 面试题 | ISP 图像处理算法工程师
面试主要分两部分一、图像处理算法相关项目经验答:略二、编程能力C++考察1、void指针有什么作用;2、静态数组与动态数组的区别;3、一个结构体,有int,char, float它的对象.size()是多大?4、static加在变量上和加在函数之前有什么作用?...
2020-09-09 13:33:46
2849
原创 标准库map的用法
1、map最基本的构造函数; map<string, int > mapstring; map<int, string > mapint; map<string, char> mapstring; map< char, string> mapchar; map<char, int...
2020-04-26 14:17:52
603
1
原创 学习C++:STL容器
STL中的基本概念:1、容器:可容纳各种数据类型的通用数据结构,是类模板;2、迭代器:可用于依次存取容器中元素,类似于指针3、算法:用来操作容器中的元素的函数模板sort()来对一个vector中的数据进行排序find()来搜索一个list中的对象容器概述:可用于存放各种类型的数据(包括:基本类型的变量,对象等)的数据结构,都是类模板,分为三种:1、顺序容器 vector|de...
2020-04-07 17:07:08
159
原创 学习C++:回调函数
1、什么是回调函数?回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。2、例如:#include <stdio.h>typedef int(*callback)(i...
2020-04-02 10:59:50
132
原创 学习C/C++:函数指针
函数指针:指向函数的指针变量。因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。函数指针有两个用途:调用函数和做...
2020-04-02 10:39:34
97
原创 学习C++:void指针和内存操作函数
void指针void *p;1)可以用任何类型的指针对void指针进行赋值或者初始化;double d = 1.54 ;void *p = &d ;void *p1 ;p1 = &d ;2)因 sizeof(void) 没有定义,所以对于void *类型的指针p,*p 无定义;++p, --p, p+=n, p+n, p-n, 等等均为定义;内存操作函数memse...
2020-04-01 19:56:28
222
原创 附录C C语言中的关键字
关键字:autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifinlineintlongregisterrestrictreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedv...
2020-04-01 14:55:33
192
原创 学习C++:一些基础概念
左值与右值:左值可以被赋值,右值是常量不可以被赋值;左值一般在等号左边也可以在右边,右值只能在等号右边;实参与形参:&运算符: 取地址运算符*运算符:解引用运算符。解引用一个指针将返回该指针所指的对象,为解引用的结果赋值也就是为指针所指的对象赋值。...
2020-03-30 15:54:01
137
原创 学习C++:全局变量,局部变量,静态变量
1、全局变量: 定义在函数内部的变量叫局部变量(函数的形参也是局部变量;2、局部变量:定义在所有函数的外面的变量叫全局变量;3、静态变量:全局变量都是静态变量,局部变量在定义时加了关键字“static”,则改变量也成为静态变量;全局变量在所有函数中均可以使用,局部变量只能在定义它的函数内部使用;静态变量的存放地址,在整个程序运行期间,都是固定不变的;非静态变量(一定是局部变量)地址每次函数调...
2020-03-30 14:53:52
391
原创 学习C++:字符串
一、字符串有三种形式用双引号括起来的字符串常量, 如"CHINA" , "C++ program "存放于字符数组中,以‘\0’字符(ASCII码为0)结尾string对象。string是C++标准模板库里的一个类,专门用于处理字符串( 略)二、字符串常量字符串常量占据内存的字节数等于字符串中字符数目加1, 多出来的是结尾字符‘\0’;字符串 “C program” 在内存中的布...
2020-03-30 10:08:21
490
原创 单目运算符,双目运算符,三目运算符
一、单目运算符:自加:++自减:–取反:~二、双目运算符按位与:&按位或:|按位异或:^左移:<<右移:>>三、三目运算符三目运算符,又称条件运算符;例如:int a = 2,c = 3;int b = (a > c) ? a : c;cout << “b:” << b << endl;...
2020-03-30 09:40:26
10855
1
原创 面试题:必掌握20题C++
问1:请用简单的语言告诉我C++ 是什么?答:C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性!问2:C和C++的区别?答:c++在c的基础上增添类,C是一个结构化语言,它的重点在于算法和数据...
2020-03-30 09:17:30
192
原创 十大经典算法之三:快速排序(Quick-sort)
1. 算法步骤从数列中挑出一个元素,称为 "基准"(pivot);重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序;2.C/C++代码...
2020-03-27 16:44:59
266
原创 十大经典算法之二:冒泡排序(Bubble-Sort)
1. 算法步骤比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。2.C/C++代码/*The Author: SmilePosition: Algorithm Engine...
2020-03-27 16:34:12
268
原创 十大经典算法之一:选择排序(Select-Sort)
1. 算法步骤首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。2.C/C++代码/*The Author: Smile Position: Algorithm Engineer*/#include <iostream>using namespac...
2020-03-27 15:55:51
378
原创 学习《数据结构》:关于树的概念集合
关于树的概念集合树,二叉树,完全二叉树,满二叉树,二叉排序树,平衡二叉树(AVL),红黑树,1 树:一对多的数据结构2 二叉树:每个结点至多有两个子树,根节点,左子树和右子树3 完全二叉树:深度为k,有n个节点的二叉树,当且仅当其每一个节点都与深度为k的满二叉树中,序号为1至n的节点对应时,并且最下层上的结点都集中在该层最左边的若干位置上,称之为完全二叉树。4 满二叉树:一棵深度为k,...
2020-03-24 16:23:08
259
原创 面试题:哔哩哔哩|算法工程师
一、笔试题笔试题1:自定义函数实现strcpy()函数的功能;char *strcpy(char *strDestination, const char *strSource){assert(strDestination != NULL && strSource != NULL);char *str = strDestination ;while((*strDestin...
2020-03-24 14:50:39
921
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人