自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mutual-Structure for Joint Filtering

协方差用来刻画两个随机变量x,y之间的相关性如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。当两个图像块具有相同的边缘,ρ=1,否则|ρ|

2023-02-28 15:35:04 433

原创 保边滤波之基于测地距离的滤波与局部拉普拉斯滤波

第三个图是对图像在[g-sigma, g+sigma]之外做色调映射,α=1于是[g-sigma, g+sigma]范围内不变,而β在0-1之间,于是把动态范围缩小;d(a,b)表示的是两个点之间像素值与像素位置之间的调和平均,而双边滤波也是用像素值以及像素位置表示,这两者都加入了像素值和像素位置,有什么区别吗?图一:某一点梯度在[g-sigma, g+sigma]范围内,是细节,α大于1,压制;P1的边缘有伪像,p3是未归一化的双边滤波器,边缘没有伪像,p4是拉普拉斯滤波,更加的sharp。

2022-11-13 16:25:59 610

原创 保边滤波之引导滤波与领域转换滤波

前面讲了图像的一行滤波,然而图像是二维的,在二维图像进行领域转换滤波,作者提出要迭代进行行滤波、列滤波,每个行滤波跟着一个列滤波。如果能够将图像(三维数据点)数据映射到二维数据点,并且能够保证仿射矩阵不变,就能提高滤波效率,然而三维到二维的变换是不存在的,二维(一行或者一列图像)到一维的变换是存在的。在图像上,通常计算相似度的时候会考虑给定义域(Domain)和值域(Range)不同的权重σ,而在一维数据中,我们只有一个参数了,假设转换后的滤波核参数是σH=σs。高相似度的值进行加权平均,起到保边的作用。

2022-11-13 16:22:05 650 1

原创 江苏大学805计算机技术专硕2020考研真题最后三道编程题及答案

10个负责打分的人,分值0-100,去掉最高分和最低分,余下8个分数平均分 为最终分数 要求: 1 输入50个选手名字,与10个评委打分 2 按最终得分求名次,分一样则名次一样 3 最终结果输出在result.txt,包括姓名,10位评委的打分,最终得分和名次。最终得分相同的名次相同。男,女,小孩一共40人,共花了50元。男的花3元,女的花了2元,小孩花1元问男,女,小孩各多少人。用递归把数组的n个数实现“倒序” 主函数输入n个数,用递归将其顺序颠倒,并输出。

2022-09-16 17:22:33 2532 2

原创 MATLAB学习0基础

在 MATLAB 中使用 find () 函数在数组中查找值的索引 在数组中,元素被放置在从 1 开始的某些索引上,依此类推。r=randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成m *n型随机矩阵。rand(RandStream,m,n)利用RandStream(随机种子)生成伪随机数。randi(iMax,m,n)在开区间(0,iMax)生成m *n型随机矩阵。randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数。rand(m,n)m行n列。

2022-09-13 16:28:57 399

原创 Java学习笔记 封装-private与this

权限修饰符,可以修饰成员变量和方法,作业是保护成员不被别的类使用。针对’private修饰的成员变量,如果需要被其他类室友,提供相应的操作1、提供“get变量名()”,用于获取成员变量的值,方法用public修饰2、提供“set变量名(参数)”,用于设置成员变量的值,方法用public修饰Student.java:StudentDemo.javastudent 学生类studentdemo 学生测试类1、this修饰的变量用于指代成员变量方法的形参如果与成员变量同名,不带this修饰的变量指

2022-07-14 17:10:34 166

原创 正点原子 STM32芯片解读 M3_Bath

1、芯片有哪些资源战舰版:ZET6mini版:RCT6芯片内部资源描述:内核:-32位 高性能RAM Corte-M3处理器-时钟:高达72M,实际还可以超频一点点-单周期乘法和硬件除法USB串口驱动安装I/O口:-STM32F103ZET6:144个引脚 112个IO(PA---->PG 16X7组)-STM32F103RCT6:64引脚 51个IO-大部分IO口都耐5V(模拟通道除外)-支持调试:SWD(串行调试(Serial Wire Debug))和JTAG

2022-04-11 12:50:15 1382

原创 嵌入式C文件IO O_APPEND解决文件共享操作数据覆盖问题以及文件拷贝

open函数注意事项多次open同一文件,实现共享操作时,指定O_APPEND可以防止数据相互覆盖的发生

2022-02-21 10:08:22 829

原创 嵌入式C语言开发 文件IO编程 open/close/read/write/stat/fstat/lstat

int fd2; fd2=open(argv[1],O_RDWR | O_CREAT | O_EXCL,0655); if(fd2==-1) { perror("open file error!"); exit(1); } printf("fd2=%d\n",fd2); int ret=close(fd2); printf("fd2=%d\n",fd2); printf("ret=%d\n",ret);部分代码O_RDO...

2022-02-17 15:20:01 358

原创 初级IO create及异常处理

标准IO就是C库。初级IO就是系统调用。#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>

2022-01-18 09:28:36 542

原创 嵌入式C开发 文件IO介绍 文件系统及文件描述符

文件编程Linux中文件的作用文件IO:一切皆文件!(VFS 虚拟文件管理系统 以此来实现的)-普通文件,d目录文件,c/b设备文件,l链接文件(p管道文件,s套接字(共享文件),f堆栈文件)**为什么要用文件来管理一切?**1、由于要存储大量文件,但如何对这些文件实施有效的管理呢?—文件系统(管理文件的软件,把文件分类管理)2、Linux根目录简介—根文件系统(根目录)-----bin(普通用户)sbin(管理员)dev(设备文件)etc(配置文件)lib(系统运行的库)usr/lib usr/i

2022-01-17 14:54:42 901

原创 嵌入式C开发 文件编程IO 概述

1、嵌入式Linux的使用(命令)2、嵌入式Linux的开发工具(gcc,gdb,make,cmake,git,shell)3、嵌入式C语言开发(概述,数据类型,表达式及运算符,控制语句,指针,数组,函数,内容管理,预处理,关键字,复合数据类型,文件操作)4、嵌入式数据结构(线性表,栈,队列,链表,数(平衡二叉树,红黑树),排序,图)5、嵌入式Linux C开发嵌入式C语言开发 VS 嵌入式Linux C开发(系统编程)软件和操作系统中有一个中间件,...

2022-01-17 10:09:24 2307

原创 嵌入式Linux开发 网络命令及ssh远程连接 常用命令 vim的使用和配置

ifconfig:查看IPifconfig eth0 192.168.1.13 设置IP地址ifconfig eth0 up启动网卡ifconfig eth0 down 禁用网卡ifup eth0 启动网卡ifdown eth0 禁用网卡远程连接:ssh

2022-01-14 14:26:56 359

原创 嵌入式Linux开发工具 Linux进阶命令

find作用:在文件系统中用来查找文件存放在哪里用法: find(路径) -name (文件名)在根目录下找hello.c在根目录下找1.cgrep作用:在一个文本文件中,查找某个词用法:man 1 grep:-n表示结果中显示行号,-r表示递归查找ls | grep XX 过滤查找ps -e 查看所有进程ps -e | grep XX 过滤过滤一个文件加-n显示行数which和whereis查找一个应用程序(二进制文件,命令也是程序)所在位置which只显示二进制文件

2022-01-13 20:18:05 7394 2

原创 嵌入式Linux开发工具 多级目录的Makefile的编写

Makefile里面注释用 #$@:表示目标文件的名称,包含扩展名$^:表示所有的依赖文件,以空格隔开,不重复$<:表示第一个依赖文件的名称$+:表示所有的依赖文件,空格隔开,可以重复$*:表示目标文件的名称,不包含扩展名$?:依赖项中,所有比目标文件新的依赖文件多级目录下的Makefile:2顶层makefile:总控Makefile3子目录Makefile:功能Makefile1scripts目录Makefile:头文件Makefile总控Makefile作用:进入各个功能子

2022-01-13 14:54:35 7525

原创 嵌入式Linux开发工具C语言 Makefile的编写

工程管理器make1、什么是工程?----如何编写Makefile文件多个源文件+其他文件(图片+头文件+脚本文件)2、工程管理器的作用->自动编译编译多个源文件------------gcc+所有源文件 -o 可执行文件3、make的依赖Makefile文件4、Makefile文件是一种脚本文件(批处理),存在相关语法;5、Makefile语法三要素:目标、依赖、命令格式:目标:依赖tab 命令目标:最终生成的文件依赖:生成目标时所需要的文件命令:生成目标时,需要执行

2022-01-13 10:43:18 8907 2

原创 嵌入式C语言开发 gdb的使用

gdb是GUN发布的一款功能强大的程序调试工具,主要完成三方面功能:1、启动被调试的程序2、让被调试的程序在指定的位置挺停住3、当程序被停住时,可以检查程序状态-变量值学习GDB的三步走:1、学会使用GDB(基础命令)2、掌握GDB的场景的使用技巧(多任务、网络程序、内存管理、core、汇编程序)3、实现GDB(实现一个调试器:应用程序)做法首先,写一个可执行的gdb-gemo.c文件,输入命令(一定要加-g,其意义是生成一些调式信息)gdb+可执行文件在(gdb)后面输入run,运

2022-01-13 09:49:34 271

原创 嵌入式C语言开发 动态库的制作与使用 详解

动态库的创建gcc -shared -fPIC -o 库名.so 源文件.c-o可以重命名 库名就是要生成的动态库的名字源文件可以不止一个这条命令会生成一个动态库和一个可执行文件动态库的使用gcc 源文件.c ./库名.so -o 可执行文件先写好add.c sub.c demo.c 三个文件输入命令,可以制作出一个动态库,也可以使用它。./是指出路径,找到libcal.so的位置,不加路径就无法找到无法执行。...

2022-01-12 09:26:05 587 1

原创 嵌入式C语言开发 简单的静态库的制作和使用 超详细版

静态库的制作先写一个add.c文件,其中有一个add加法函数。再写一个demo.c文件,其中需要引用外部函数add。输入命令也可以不引用外部函数add,而是建一个库函数add.h,add.h引用外部函数add。此时再输入命令也可以得出准确的结果。静态库的使用制作一个静态库1、将目标源文件编译成目标文件:gcc -c 目标源文件(gcc -c add.c)2、使用ar工具制作静态库:ar -rcs(库不存在就创建,存在就更新) 所要生成的库文件的名字(lib+库名+后缀.a

2022-01-11 15:31:29 1066 3

原创 天勤操作系统 第二章:进程管理 处理机调度2

时间片轮转调度算法时间片轮转法甘特图时间片的选取时间片过长:先来先服务时间片过短会产生过多的上下文切换,系统内耗严重一般根据经验:时间片选取的长度不应使得上下文切换的开销超过1%还可以这样取:时间片略大于一次典型的交互所需要的时间。这样可以使大多数进程在一个时间片内完成。多级反馈队列算法特点:CPU密集型进程:进程优先级会下降很快,得到较大的时间片,减少进程切换的开销;I/O密集型进程:进程会停留在高优先级队列中,因为每次需要CPU执行的时间很短。...

2022-01-10 19:57:09 370

原创 天勤操作系统 第二章:进程管理 处理机调度

处理机调度先来先服务调度算法(FIFO)进程和作业的区别作业是用户需要计算机完成某项任务而要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行和作业完成4个阶段。而进程是已提交完毕的作业的执行过程,是资源分配的基本单位。两者的主要区别如下:作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将它放入外存中的作业等待队列中等待执行;而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。一个作业可

2022-01-10 16:35:04 410

原创 天勤操作系统第二章 进程管理2 线程

111

2022-01-07 20:08:25 626

原创 天勤操作系统 第二章:进程管理

基本概念程序的执行特征顺序性:处理机的操作严格按照程序规定的顺序执行,即每一操作必须在上一个操作结束之后开始。封闭性:程序是在封闭的环境下执行的,即程序运行时独占全机资源,资源的状态只有本程序能改变它。可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,还是停停走走地执行,都将获得相同的结果。程序并发执行时的特征1:间断性:程序在并发执行的时候,因为是共享资源,以及完成同一项任务而相互合作,致使在这些并发执行的程序之间形成了相互制约的关系,导致程序执行呈

2022-01-07 15:44:57 464

原创 天勤操作系统 第一章:系统概述

计算机由什么组成?硬件层+软件层操作系统的特点四大1、并发性:两个或多个事件在同一时间间隔内发生(2)、并行性:两个或多个事件在同一时刻发生关系:并发在宏观上看起来是并行3、共享性:系统内资源可供内存中多个并发执行的进程(线程)共同使用。互斥共享方式(一个音响不能放同一首曲子)同时访问方式(一组数据可以同时被多个进程访问)4、虚拟性:通过某种技术把一个物理实体变为若干个逻辑上的对应物。时分复用技术:虚拟处理机技术、虚拟设备技术(一块CPU合理调度,处理多个任务)空分复用技术:虚拟磁盘

2022-01-06 20:06:13 357

原创 嵌入式开发概述及应用 含创建新文件和新目录、编辑文件、修改文件权限、网络配置、apt-get的使用等

学习内容嵌入式开发概述、嵌入式Linux安装与使用学习目标1、嵌入式开发VS传统开发2、嵌入式优缺点3、嵌入式开发的就业前景4、Linux安装(文档化)5、Linux命令(30-40命令)6、IDE环境-vscode嵌入式开发学习路线1、嵌入式Linux安装及使用2、嵌入式Linux开发工具 gcc,gdb,make,git,shell,cmake3、嵌入式C语言开发4、嵌入式Linux C开发;文件io\多任务,网络,数据库5、嵌入式C++开发(嵌入式服务器、中间件)6、嵌入

2022-01-06 09:45:16 492

原创 嵌入式开发工具 静态库动态库制作与使用

1、编译器gcc(静态库和动态库的制作与使用)2、调试器gdb(常用命令,调用内存错误)3、工程管理器 make(Makefile编写、多目录的Makefile的编写)库函数(保存在库文件中)printf scanf strcpy strcat库文件:保存函数和变量,里面的函数和变量只能使用,看不到其实现库的分类:静态库.a 在编译阶段加载到可执行文件中动态库.so 保存的函数和变量在执行阶段加载到可执行文件中使用静态库和动态库的区别(可执行文件的区别)1、使用静态库编译出来的

2021-12-31 10:37:38 1138

原创 嵌入式Linux开发工具(vim和gcc)

4、vim使用命令行:yy复制 p粘贴 dd删除 u恢复上一行底行模式:查找/str?str替换:行号或者%s/old/new/gc %s/sum/result/g编辑多个文件:vim文件1 文件2 文件3跳转:n文件名文件保存:w rsp+名 多文件编写原生态:vim gedit优秀第三方编辑:subline notepad++ vscodeIDE:QtCreater vs2019;gcc常用编译选型编译器gcc1 gcc概述:GUN计划

2021-12-30 19:23:37 182

原创 嵌入式Linux开发工具(vim的使用)

1、文本编辑器-vim+vscode(使用并配置vim、安装及使用插件+远程链接vscode)2、编译器gcc(常用编译选项,静态库和动态库的制作与使用)3、调试器gdb(断点调试,查看内存,调试内存错误)4、工程管理器make5、shell编程(C语言)6、git版本管理工具7、Cmake(项目)8、内存检测工具(线上:C语言)vim/vi/gvim文本编辑器 gedit emac(脱离鼠标)1、使用场景:单文件编辑;vim+插件>IDE2、vim模式:命令行模式(初次进入,按

2021-12-30 10:03:09 1771

原创 网络编程 1

OSI七层网络协议物理层:通信介质的信号到数字信号(二进制0101)转换数据链路层:局域网之间的计算机通信网络层:IP地址 路由(通过公网IP访问全世界)传输层:tcp/udp 端口会话层:控制发包的数据表示层:文件格式应用层:应用程序使用ip地址32位2进制数分类:1.公网IP(广域网通信)a类:1.0.0.1~126.255.255.254b类:128.0.0.1~191.255.255.254c类:192.0.0.1~223.255.255.254d类:224.0.0.1

2021-12-29 16:09:06 1357

原创 江苏大学考研805真题C语言程序设计 第五大编程题答案2004-2019

2004#include<stdio.h>#include<stdlib.h>int main(){ int a,t,i=0; printf("请输入一个不多于五位的正整数:"); scanf("%d",&a); int b[5]; int count=0; while(a) { t=a%10; b[i++]=t; a/=10; } printf("是%d位数\n",i--); printf("顺序:"); count =i;

2021-12-15 22:38:35 4465 1

原创 C语言文件的程序设计实例

统计学生的成绩#include<stdio.h>#include<stdlib.h>#include<string.h>//统计学生成绩typedef struct{ char no[10]; char name[10]; double foreign; double spec1; double spec2; double total; } StudentType; void WriteToFile(); void ReadFromFile

2021-09-17 23:28:19 263

原创 10 对文件的输入输出(2)

习题3#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ FILE *fp; char str[100]; int i=0; if((fp=fopen("al","w")) == NULL) { printf("cannot open file\n"); exit(0); } printf("input a string:\n"); gets(str); w

2021-08-24 11:12:21 122

原创 10对文件的输入输出

C文件的有关基础知识什么是文件?(1)程序文件(2)数据文件10.1#include<stdio.h>#include<stdlib.h>int main(){ FILE *fp; char ch,filename[10]; printf("请输入所用的用户名:"); scanf("%s",filename); //printf("\n"); getchar(); if((fp==fopen(filename,"r")) == NULL) { pr

2021-08-22 10:09:29 82

原创 9用户自己建立数据模型(2)

习题1.#include<stdio.h>#include<string.h>#include<stdlib.h> struct year{ int y; int m; int d;}dd; int main(){ int n=0,i; scanf("%d,%d,%d",&dd.y,&dd.m,&dd.d); int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

2021-08-22 10:07:31 150

原创 9用户自己建立数据模型

定义和使用结构体变量C语言允许用户自己建立由不同的类型数据组成的组合型数据结构,它称为结构体Struct是声明结构体类型的关键字声明一个结构体类型的一般形式:Struct 结构体名{成员表列}对各成员进行声明: 类型名 成员名定义结构体类型变量1.先声明结构体类型,再定义该类型的变量struct Student student1,student22.在声明类型的同时定义变量struct 结构体名{成员表列}变量名表列;3.不指定类型名而直接定义结构体类型变量Struct

2021-08-19 12:42:58 219

原创 8善于利用指针(2)

习题1 输入3个数,按由小到大的顺序输出选择法(有问题)#include<stdio.h>#include<math.h>#include<string.h>#include<stdlib.h>int main(){ int a[3]; int *p; int *temp; p = a; int i,j,k; for(i=0;i<3;i++) { scanf("%d",&a[i]); } for(i=0;

2021-08-15 13:37:49 220

原创 8善于利用指针

指针由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元,地址形象化为指针通过它能找到以它为地址的内存单元指向通过地址来体现将地址形象化地称为指针如果有一个变量专门用来存放另一个变量的地址(即指针),则称它为“指针变量”指针变量的值是地址#include<stdio.h>int main(){ int a=100,b=10; int *pointer_1,*pointer_2; pointer_1 = &a; pointer_2 = &b; p

2021-08-11 11:47:06 87

原创 7用函数实现模块化设计(2)

14//输入两个学生三门课的成绩,分别用函数实现// 计算每个学生的平均分#include<stdio.h>#include<string.h>int m,n;int x0,x1;int main(){int a[2][3];int i,j;for(i=0;i<2;i++){for(j=0;j<3;j++){printf(“a[%d][%d]=”,i,j);scanf("%d",&a[i][j]);}}int pjf(int

2021-08-07 22:33:50 189

原创 7用函数实现模块化程序设计

函数函数的分类从用户角度:库函数和用户自己定义的函数从函数的形式:有参函数和无参函数定义无参函数的一般形式:类型名 函数名(){函数体;}有参函数:必须要有return类型名 函数名(形参表列){函数体;//语句}void类型无类型 无函数值 执行次函数不会把任何值带回main函数函数调用的一般形式函数名(实参列表 )函数的返回值通过return语句获得定义函数时指定函数的类型定义函数时指定的函数类型一般应该和return语句中的表达式类型一直,即函数类型决定返回值的类

2021-08-06 14:11:24 163

原创 6利用数组处理批量数据(2)

课后习题6.输出以下的杨辉三角形(要求输出10行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1…#include<stdio.h>int main(){ int i,j; int a[10][10]; for(i=0;i<10;i++) { a[i][i]=1; a[i][0]=1; } for(i=2;i<10;i++) { for(j=1;j<i;j++) { a[i][j]= a[

2021-08-04 14:34:20 80

空空如也

空空如也

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

TA关注的人

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