自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 二分查找模板

C语言二分查找1.什么是二分查找?2.二分查找的两个模板三级目录1.什么是二分查找?首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。2.二分查找的两个模板1.当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,

2022-04-30 15:02:43 326

原创 JAVA面向对象之封装

JAVA面向对象之封装一.封装的概念二.UML类图三.构造方法四.this关键字五.static关键字六.方法重载七.包package一.封装的概念1.*****封装将东西包在一起,然后以新的完整形式呈现出来将方法和字段一起包装到一个单元中,单元以类的形式实现信息隐藏,隐藏对象的实现细节,不让外部直接访问到将数据和方法包装进类中,加上具体实现的隐藏(访问修饰符同时带有特征和行为的数据类型)“定义类,定义其属性,方法的过程称为封装类”2.*****访问修饰符public 该类或非该类均可以

2021-08-24 13:14:57 285

原创 如何在eclipse中建立一个安卓工程

1.鼠标右键如图空白处,选择"New"->“Android Application Project”2.在Application Name后面输入安卓工程的名字,下面两个会自动补齐名字,注意Package Name后面不得用中文。随后点击"next",下一步。3.按照下图所示勾选内容,其中Create Project in Workpase会默认勾选上,若想把安卓工程存放到想要存放的目录,则需要将其不勾选,用后面的Browse选择要存放的目录,随后点击“next”,下一步。4.这一步可以选

2021-06-10 16:09:58 3845 1

转载 ubuntu设置共享文件夹成功后却不显示找不到

1.首先输入下面命令查看是否真的设置成功共享文件夹vmare-hgfsclient如果确实已经设置共享文件夹将输出window下共享文件夹名字2.确定自己已经设置共享文件夹后输入下面的命令//如果之前没有命令包则先执行sudo apt-get install open-vm-toolssudo vmhgfs-fuse .host:/ /mnt/hgfs -o nonempty -o allow_other完成后在进入到/mnt/hgfs ls查看,发现共享文件夹已经出现可以使用...

2021-06-05 14:07:49 3390 7

原创 open cv简单的均衡化处理(ubuntu)

1.源码如下:import cv2 #引入open cv的库import numpy as np #映入numpy的库from matplotlib import pyplot as plt #为下面画出直方图引入库im = cv2.imread("../tuxiangshili/ban.jpeg",0) #0 read huise

2021-05-09 20:59:15 108

原创 open cv将彩色图像转为灰度图像(基于ubuntu)

1.首先要安装open cv在ubuntu中的一些库并且配置环境变量,可以参考如下:open cv中文手册2.自己选择一个文件夹存放所需要转化的彩色图片,我这里选的是如下地址:3.这些配置完成之后就需要编写程序,在终端下输入"vi 02_color2gray.py",进入python文件开始编写python程序。4.在.py后缀的文件中输入如下代码:import cv2 #引入cv2的库im = cv2.imr

2021-05-08 18:45:23 631

原创 c语言排序(选择排序,冒泡排序)

c语言的排序方式一.冒泡排序1.基本思路:二级目录三级目录一.冒泡排序每次将相邻两个数比较,将小的调到前头。1.基本思路:*****将9,8,5,4,2,0六个数字按冒泡排序的方式排序第一趟比较:第一次:第一个数9和第二个数8相比,8比9小,所以将9和8互换。第二次:第二个数9和第三个数5相比,5比9小,所以将9和5互换。以此类推,当比较4次后,上面的数据会变成8,5,4,2,0,9的形式,比较了4次之后只是将最大的数沉入了最底下,而将小于它的数浮上来,还没有完成排序,当时经过这几次比较,最

2021-03-30 12:29:26 912

原创 13.信号编程

#include <signal.h>#include <stdio.h>typedef void (*sighandler_t)(int);sighandler_t signal(int signum, sighandler_t handler);1.信号的处理*捕捉信号,如上图所示的函数 handler为一个函数,signal中的signum为信号量,signal()执行后即捕捉到你想输入的信号,让它完成handler函数里面的工作,从而代替先前的工作比如:#i

2021-03-29 11:01:56 103

原创 c语言二维数组

1.源码#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++)t+=b[i][b[j][i]]; printf("%d\n",t); system("pause"); return 0;}

2021-03-29 10:59:11 109

原创 c语言原码,反码,补码,以及取反

1.原码:原码由二进制数得原数值部分和符号位组成。+1010101的原码位01010101,-1010101的原码为11010101.其中第一位为+,-符号位。2.反码:正数:反码和原码相同,为符号位加上原数值。+10010101的反码为010010101负数:反码为符号位加上原数值按位取反。-10010101的反码为1011010103.补码:正数:补码,原码,反码相同。+110011补码为0110011负数:补码为符号位加上原数值按位取反后再在最低位加1,即为反码加1.-1100

2021-03-14 19:15:12 3842 1

原创 Linux库之静态库

静态库的制作1.使用"ls"指令查看文件中的内容,具体的文件可看linux分文件编程2.现在我们想要将"arithmetic2.c"文件制作成静态库的形式,使得我们不需要"arithmetic2.c"也可以进行编程,这样使得别人看不到"arithmetic2.c"的文件,算是一种加密方式。输入命令"gcc arithmetic.c -c "生成.o文件。dingyang@ubuntu:~/kubiancheng$ gcc arithmetic.c -c 3.输入"ls"查看所生成的文件,生成"

2021-03-14 12:17:25 138

原创 Linux分文件编程

Linux分文件编程一.源文件1. 创建.c文件(源文件中想要分文件的部分)2.创建.h文件(对应创建.c的分文件)3.源文件将内容删除4.编译一.源文件#include <stdio.h>int add(int a,int b){ return (a+b);}int subtract(int a,int b){ return (a-b);}int multiply(int a,int b){ return a*b;}

2021-03-13 21:50:19 279

原创 Linux进程退出

进程退出一.正常退出二级目录三级目录一.正常退出1.main函数调用return2.进程调用exit(),标准c库3.进程调用_exit()或者_Exit(),属于系统调用二级目录三级目录

2021-02-24 23:17:42 180

转载 浅谈野指针

关于野指针可以查看如下地址:添加链接描述

2021-01-25 11:34:07 108

原创 open mv单颜色识别例程

# Single Color RGB565 Blob Tracking Example## This example shows off single color RGB565 tracking using the OpenMV Cam.import sensor, image, time, maththreshold_index = 0 # 0 for red, 1 for green, 2 for blue# Color Tracking Thresholds (L Min, L Max

2021-01-24 21:47:17 1987

原创 Linux文件打开及创建

**一.对于打开文件的函数Linux终端中的解释如下:#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>这三个为打开文件时需要写的头文件int open(const char *pathname,int flags) :为打开文件时需要调用的函数,且它的返回值为整形,pathname 为所需要打开的文件的文件名。flags为打开文件后对文件操作的方式,其值如下:而它的返回值open()

2021-01-21 20:39:43 275

原创 Linux进程之创建进程

fork函数创建进程1.fork()函数的原型2.fork() 函数的返回值3.fork()函数与getpid()的联合使用(看子进程是否创建成功)4.进程的简介用法1.fork()函数的原型man手册中fork()函数原型如下:#include <unistd.h>pid_t fork(void);fork中的参数为无类型,返回值为pid_t。2.fork() 函数的返回值fork函数调用成功,返回两次返回值为0,代表当前进程是子进程返回值为非负数,代表当前进程是父进程

2021-01-20 20:05:39 127

原创 Linux文件编程之修改程序的配置文件

文件编程应用之修改程序的配置文件一.思路分析一.思路分析1.首先打开要编写的文件2.#include <fcntl.h>#include <stdlib.h>#include <string.h>#include <unistd.h>int main(int argc,char **argv){ int fd; char *readbuf=NULL; fd=open(argv[1],O_R

2021-01-17 17:28:16 327 2

原创 关于Linux操作系统终端的快捷键

一.关于删除*Ctrl+H退格键,向前删除一个字节*Ctrl+U 向前删除直到行首*Crtl+W 执行向前删除,直到前一个字符是空格二.关于复制粘贴*Ctrl+Alt+C:复制 鼠标选中要复制的内容,按下Ctrl+Alt+C*Ctrl+Alt+C:粘贴...

2021-01-14 13:54:31 293

原创 Linux文件编程之cp命令的实现

1

2021-01-12 23:39:38 661

原创 Linux文件编程之文件光标

文件光标移动操作一.关于光标的几个问题二.光标的api三.编程举例一.关于光标的几个问题1.什么是光标?当你在一个文本框或某种程序中输入文字时,总有一个光标来显示你将要输入文字的位置。大部分的光标都为一个小竖线,规则的闪动.而在DOS下有些光标则是短短的小横线,同样规则的闪动.现用的windows光标是一个图像,可以是动态的也可以是静态的,在不同情况下样子也不同。2.为什么要使用光标?光标根据你的程序有时会发生移动,使得你再对文件进行操作时会移动到不是你需要的位置,比如之前写到的write函数执行

2021-01-12 20:57:21 504

原创 Linux文件编程之文件读取

文件读取操作1.文件读取的api2.编程实例1.文件读取的api #include <unistd.h> ssize_t read(int fd, void *buf, size_t count);文件读取和之前介绍的write几乎相似,参数介绍:fd:为打开文件的返回值。buf:缓冲区,数据从缓冲区读取出来。count:所要读取的内容的大小基于前面的介绍,接着写入的函数继续进行编程:2.编程实例#include <sys/stat.h&g

2021-01-12 20:04:41 473

原创 Linux文件编程之文件写入

文件写入操作编程1.写入操作的api:编程实例1.写入操作的api:在Linux终端中输入man 2 write可以查询#include <unistd.h>ssize_t write(int fd, const void *buf, size_t count);参数介绍:write(int fd, const void *buf, size_t count) :fd:其中fd为文件标识符,即open的返回值,打开文件后根据文件标识符对打开的文件进行操作.buf:无类型的指针

2021-01-12 19:04:16 903

原创 Linux文件编程之文件打开及创建

文件编程前言文件打开及创建1.对于文件的打开即创建我们首先要了解其文件打开的api,即使用打开和创建文件在Linux系统中使用的函数。2.编程实例总结前言在windows操作系统下我们对文件进行操作,比如world文档,我们需要双击打开这个文件,其次对这个文件输入你想要写的话在里面,接着你想要下次打开这个文件这段话还在,则需要保存这个文件,最后再关闭这个文档,当然,这一系列的操作都是基于鼠标来对其打开,保存,退出等,在Linux操作系统中我们实现这些通过键盘输入的方式编写打开,保存退出等。文件打开

2021-01-12 17:42:16 309

原创 open mv寻找色块

一.open mv 寻找色块所用函数:image.find_blobs(thresholds, roi=Auto, x_stride=2, y_stride=1, invert=False, area_threshold=10, pixels_threshold=10, merge=False, margin=0, threshold_cb=None, merge_cb=None)该函数有11个变量接下来一一介绍1.thresholds是颜色的阈值,注意:这个参数是一个列表,可以包含多个颜色。如果

2021-01-10 21:57:54 2034

原创 孤儿进程

父进程如果不等待子进程退出,在子进程之前就结束了自己的“生命”,此时子进程叫作孤儿进程Linux系统避免存在过多孤儿进程,init进程收留孤儿进程,变成孤儿进程的父进程

2021-01-04 16:16:25 87

原创 1.进程的相关概念

问1:什么是程序,什么是进程,有什么区别?程序是静态的概念,gcc.xxx.c -o pro磁盘中生成pro文件,叫做程序进程是程序的一次运行活动,通俗点意思是程序跑起来了,系统中就多了一个进程问2:如何查看系统中有哪些进程?a.使用ps指令查看实际工作中,配合grep来查找程序中是否存在某一个进程b.使用top指令查看,类似windows任务管理器问3:什么是进程标识符?每个进程都有一个非负整数表示的唯一ID,叫做pid,类似身份证。Pid=0:称为交换进程(swapper)作用——

2020-12-31 12:50:37 88 3

原创 链表从指定节点后方插入新节点

*首先什么是链表,链表即是连在一起的结构体。其格式如下:struct Test{int data;struct Test *next;};*即结构体里面带有一个结构体指针,这个指针可以指向下一个结构体,使得结构体变量之间可以连系起来,如果通过这样的指向性,就可以不断寻找结构体(struct Test)中的结构体(struct Test *next;)指针找到下一个结构体从而达到通过第一个结构体的首地址来达到操作一整串结构体的效果,其中与结构体的区别就是有了结构体变量中多了一个结构体指针,..

2020-12-30 12:22:38 916

原创 文件操作原理简述

文件描述符:1.对于内核而言,所有打开文件都由文件描述符引用。文件描述符是一个非负整数。当打开一个现存文件或者创建一个新文件时,内核向进程返回一个文件描述符。当读写一个文件时,用open和create返回的文件描述符标识该文件,将其作为参数传递给read和write.按照惯例,UNIX shell使用文件描述符0与进程的标准输入相结合,文件描述符1与标准输出相结合,文件描述符2与标准错误输出相结合。STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO这几个宏代替了0,1,2这

2020-12-29 19:13:04 213

原创 基于wemos D1 的WiFi避障小车

*项目介绍:该项目主要通过wemos D1 ,超声波传感器模块(HC-SR04),L9110s步进电机,等模块组成。*各模块实物图片如下:一.wemos d1模块板载无线网卡支持AP(路由),sta(上网)模式。wemos d1和51单片机的区别在于多了个无线网卡,可以进行网络连接,其他的I/O口和51单片机类似。在此项目中担任主控芯片,控制步进电机和红外模块。二.超声波传感模块该模块主要实现避障的功能,超声波发出波遇到前面的障碍物后会返回,通过这段时间来判断距离前面障碍物的距离,距离通过

2020-12-16 13:26:52 1406 3

空空如也

空空如也

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

TA关注的人

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