C语言
修炼之路
主要研究领域包括图像分类、目标检测、OCR、人脸识别等,搞过跨平台的深度学习模型的部署解决方案,设计过分布式的深度学习模型服务架构。
展开
-
c++ opencv的Mat多维数组的初始化、dot、Element-wise
Mat多维数组初始化#include <iostream>#include <opencv2/opencv.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>int main(){ //定义一个float数组 float a[4] = {1,2,3,4}; //将数组转换为矩阵,2行2列的矩阵 cv::原创 2020-06-15 10:46:57 · 4973 阅读 · 0 评论 -
conversion from ‘const cv::Mat’ to non-scalar type ‘IplImage’ {aka ‘_IplImage’}
错误详细描述/dlib/opencv/cv_image.h:37:22: **error**: conversion from ‘const cv::Mat’ to non-scalar type ‘IplImage’ {aka ‘_IplImage’} requested IplImage temp = img;原因在c++中使用dlib的front_face_detector人脸检测,需要对OpenCV的Mat格式的图像进行转换,原代码const cv::Mat& bgr;c翻译 2020-05-09 23:35:39 · 3430 阅读 · 1 评论 -
c++编译错误error C3861: “xxxx”: 找不到标识符
错误描述在导入自定义的头文件时,报C3861 “_ReturnAddress”: 找不到标识符错误,错误信息如下解决办法在自定义的头文件前面导入,指向的头文件即可include ""//自定义头文件include <ppltasks.h>参考:https://zhuanlan.zhihu.com/p/26600794...原创 2020-04-24 21:37:03 · 19190 阅读 · 0 评论 -
安装完VS之后在菜单栏中找不到x64 Native Tools Command Prompt
导读因为需要用到cmake命令,所以安装了一个VS Community的版本就可以了,安装完成之后在开始菜单栏中没有找到X64 Native Tools Command Prompt命令行启动工具解决办法安装的时候需要安装C++移动开发模块,如果没有安装,可以到扩展管理中,安装这个功能安装完成之后,在开始菜单栏中就可以找到这个命令行工具...原创 2020-03-26 16:45:30 · 19878 阅读 · 9 评论 -
c#线性空间求最长公共子序列
在文本比较算法中有许多的算法,如求最小编辑距离,线性空间求最长公共子序列等。如果,我们需要求出两个字符串的相似度或者是距离的时候可以采用最小编辑距离算法,有时候我们可能需要求出两个字符串不同的地方,比如说修改、删除、增加的部分,从而突出这些不同的地方,如在线文档比对工具以及Bcompare等文档比对工具,这个时候我们就可以采用线性空间求最长公共子序列。最长公共子序列算法的介绍,请参考http://原创 2017-10-19 21:41:36 · 889 阅读 · 0 评论 -
C语言中的二级指针的三种内存模型
C语言中的指针用的是比较多,一级指针和二级指针时最常见的。其中,在C语言中二级指针相对于一级指针要难一些,下面就介绍一下C语言中二级指针的三种内存模型。一、二维数组char a[5][5]内存模型#include#include#include/*C语言中的二级指针的三种内存模型*///第一种模型,二维数组char a[5][5]void func1(){ //二维数组,表原创 2017-04-04 15:51:14 · 1498 阅读 · 0 评论 -
C语言中的const,free用法详解
注意:C语言中的const和C++中的const是有区别的,而且在使用VS编译测试的时候。如果是C的话,请一定要建立一个后缀为C的文件,不要是CPP的文件。因为,两个编译器会有差别的。一、C语言中的const比较常见的用法,const做常量#include#include#include/*C中的const用法(使用VS测试的时候,要注意建立一个C后缀的文件,因为C的编译器和C+原创 2017-04-02 23:39:34 · 7298 阅读 · 0 评论 -
C语言指针总结之程序举例分析
一、指针变量未初始化int *p;*p = 10;因为,第一句只是声明了一个指针变量p,并没有为其赋值(没有为指针变量p开辟空间)。而,第二句的意思是说,以p的内容为地址,将10赋给它。可以改成下面,int *p = (int *)malloc(sizeof(int));*p = 10;或者int *p;int a = 10;p = &a;为什么不能写成*p =原创 2017-03-12 14:59:21 · 935 阅读 · 0 评论 -
C语言中常用的字符串操作(子串分割、替换、去前后空格、递归实现字符串反转)
在C语言中,并没有像java中对字符串操作的封装好的函数,在C语言中,都需要自己根据C语言函数库来实现常用的字符串操作一、字符串的分割,根据子串进行分割#include#include#includeusing namespace std;//字符串的分割,根据子串分割字符串//参数://str被分割的字符串//sub子串//sub_before为str中sub所在位原创 2017-03-27 22:38:29 · 11427 阅读 · 0 评论 -
c深入剖析跨函数调用指针(多级指针)问题
在c语言中,如果想要通过函数调用来改变值,有两种方式,第一种是通过指针的传递来改变值(这种可以一次改变多个变量的值),第二种是通过函数的返回值来传递值。第一种,中传递的时候其实只是地址的传递,相对第二种的值传递来说,第一种的效率要高不少,因为第一种传递的是地址,四个字节(部分计算机)大小的地址。特别,是在c中做字符串的处理时,这种第一种情况用的非常的多,我当时也是在做字符串处理的时候遇到这些问题,原创 2017-03-19 19:40:40 · 2854 阅读 · 0 评论 -
C语言指针之二malloc的用法及详解
一、为什么c语言中要有mallocmalloc就是memory allocate动态分配内存,malloc的出现时为了弥补静态内存分配的缺点,静态分配内存有如下缺点:1、比如说,传统的一维数组,如int a[5],使用传统的一维数组需要事先指定数组的长度,而且数组的长度必须是一个常量(宏定义的 常量)2、传统数组(静态分配),不能手动释放,只能等待系统释放,静态分配的变量在该函数内运行原创 2017-03-08 21:58:22 · 132202 阅读 · 5 评论 -
如何在visual studio下编译zxing cpp,以及zxing c++的使用
刚开始请允许我发一下牢骚,刚开始学c++,然后,在使用zxing c++解析二维码的时候,需要找资料。但是,我所找的资料都有问题,下载zxing cpp之后,编译的时候各种问题,当时头都大了。而且,网上关于zxing c++二维码解析的资料甚少,都是Java的。所以,当时我就想着,如果弄好了这个,我一定要详细记录一下。zxing cpp在visual studio 2013下的编译:一、下...原创 2017-03-05 14:41:21 · 17083 阅读 · 69 评论 -
错误 14 error LNK2005: public: static unsigned int const zxing::DecodeHints::CHARACTER_SET (?CHARACTER
在编译zxing cpp的时候报错:错误 14 error LNK2005: public: static unsigned int const zxing::DecodeHints::CHARACTER_SET (?CHARACTER_SET@DecodeHints@zxing@@2IB) 已经在 AztecReader.obj 中定义 DecodeHints.obj 解决方法如下:原创 2017-03-04 23:30:15 · 2427 阅读 · 2 评论 -
C语言之指针一
c语言中的指针可以说是c语言的灵魂,但同时指针有利也有弊,同时也会导致很多问题。指针:指针其实就是地址,所谓的地址其实就是指的内存单元的编号指针变量:就是指这个变量存放的是地址,指针变量分为很多种,int * p,其实指的就是指针变量p中存放的是一个数据类型为int的地址。使用指针时常见的错误1:int a = 10;int *p;*p = a;在visual stud原创 2017-02-28 22:21:40 · 644 阅读 · 0 评论