自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Sigemastar饱和度调整

例如:AWB的PreferBRaito按LV*10的表,用哪个表来计算就看首列的值是1还是LV1。(如果LV*10的值为79,那么他的区间就在7-8这个区间,更偏向于8)。3、对应区间看AEInfo的SenSorGain表,看饱和度在哪个区间。也可能看表LV*10表。2、Web为50想实际值为某值是想将Sat.Allstr的每一级都相应降低。

2024-03-18 17:44:34 200

原创 AWB(自动白平衡调试)

回到API tool接口点选左侧AWBCTCali,再点选ReadPage将板子上的设定读回,最后点选上方File→Save→Bin file将AWB色温曲线设定存至API的bin檔中。对完后将镜头转向灰度卡(尽量让整个镜头都布满灰度卡),观察色温计,标实际色温的值。3、色温调节(3000,4000,4500,5000,6500)后,观察色温计,标实际色温,计算色温的值差距是否会过大。4、更新当前光照,调节色温框、将大部分绿点框至框内(框不要过大,会影响计算值),将计算结果应用到摄像机上。

2024-03-07 14:30:59 646

原创 常用变焦方式

1、光学变焦是依靠光学镜头结构来实现变焦,它是一种纯物理变焦方式,没有任何电子元件参与其中。通过改变镜头中镜片的相对位置,实现对焦距的调整,从而得到不同的视角。2、数码变焦则是一种电子变焦方式,通过相机内部的处理器和算法来实现变焦,没有改变镜头的物理结构,而是通过对图像传感器输出的信号进行处理来实现变焦。

2024-02-28 09:23:42 475

原创 视频传输接口

6G-SDI是一种数字视频接口标准,其数据传输速率高达6Gbps。它主要用于高清、超高清视频信号的传输,支持4K、8K等高分辨率的视频格式。6G-SDI接口采用BNC(Bayonet Neill-Concelman)连接器,可以与现有的SDI设备兼容,同时支持更长的传输距离和更高的带宽。6G-SDI接口的传输距离受到一定限制,一般需要在较短的距离内传输高清、超高清视频信号。

2024-02-28 09:22:06 278

原创 远程控制方式

RS-422采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)进行。在硬件构成上,RS-422(或EIA-422)相当于两组RS-485(或EIA-485),即两个半双工的RS-485构成一个全双工的RS-422。PTZ(Pan/Tilt/Zoom):PTZ也是一种常见的远程控制方式,常用于监控摄像头和视频会议系统中,允许用户远程控制摄像头的方向(平移/倾斜)和缩放级别。它是差分传输的标准,使用一对双绞线。

2024-02-28 09:04:39 432

原创 单片机--

③TTL:设备内部间通信的技术 -->RX输入,TX输出 //输入输出的缓冲区叫做SBUF,是两个八位的独立寄存器。②数据传输:数据一位一位的传输,双向通信(全双工),传送速度较慢。发送时要用到T1中断,因为要当等待发送完一轮,停止一下识别发送是否已完成,否是数据可能会错乱。②中断允许控制位:EA = 1(中断功能开放);②定时器:89C52单片机中有T0,T1,T2计时器,靠内部震荡电路(晶振)计数。①中断服务程序被硬件调用,写中断函数时记得加中断信号,便于识别调用。④串口中断开关:ES = 1。

2023-12-19 09:15:05 427

原创 文件的操作

lseek(fd, 偏移位置, 光标位置) -->文件起始位置|SEEK_SET|0 、 文件当前位置|SEEK_CUR|1 、 文件末尾·位置|SEEK_END|2。读取:read(fd, buf, count) //void *buf <--读到的内容放入buf,count为读到的内容。⑤文件创建: creat(文件路径+文件名,权限) = fd -->返回值为文件描述符。文件操作: 打开(静态->动态) --> 读写 --> 关闭(保存到磁盘,回到静态)③写入/关闭/读取文件。

2023-12-18 21:21:51 368

原创 线程pthread

3、线程的创建:ret = pthread_creat(&t, NULL, 启动线程要用的函数的地址, 函数的参数) -->返回值为整形。③上锁(一般在函数的起始位置): pthread_mutex_lock(&mutex);1、概念:线程,互斥锁(创建,销毁,加锁,解锁),条件(创建,销毁,触发,广播,等待)②条件的等待:pthread_cond_wait(&cond,&mutex)①条件的创建:pthread_cond_init(&cond,NULL)2、操作:创建,退出,等待。

2023-12-18 18:43:11 383

原创 进程以及进程间的通信

d、无名管道的建立: #include<unistd.h> int pipe(int fd[2]) -->fd[0]为读,fd[1]为写 //关闭管道直接close(fd)④c的内存空间分配:从低地址 ----------------------------------------------------->高地址。⑨孤儿进程:父进程不在子进程运行完之前就结束自己的进程,此时子进程就会成为孤儿进程。代码数据段-->初始化数据-->未初始化数据-->堆-->栈-->命令行参数,环境变量。

2023-12-18 16:07:26 363

原创 struct,union,enum,typedef,define

②一个值被赋值的时候,前面已经赋值的会被覆盖(不显示)/ 可以定义多个类型,但一次只能用一个类型,只能一个有效,其他都无效。①计算联合体大小只需要考虑结构体中包含的类型中所占最大空间的那个类型。③计算结构体大小要考虑到结构体中包含的所有类型,并且要考虑对齐问题。①enum实际上是一个整形,给一个词,赋值为某个整数。②结构体赋值: 变量名 = {,,,,} .成员 = 值;①结构体定义:struct 标签名 {};struct,union,enum的定义类似。关键字 标签名 变量定义。

2023-12-18 14:23:19 432

原创 指针的要素

->此指针为野指针,无内存地址,需要malloc一个 --》p = (int*)malloc(sizeof(int))注意:malloc一个空间后,当p使用完要将给p指针malloc出来的空间free掉,不然会内存泄露。② int *p-->此处的*为标识作用,表示定义一个指针。其中p为指针,*p为取p存放的地址中的值。⑤扩容:realloc(要扩容的地址,扩容的大小)-->原地址不会变,在后面继续加。strcpy(指针,“值”)①指针三要素:指向,类型,数据大小(取多少个01)

2023-12-18 14:00:08 384

原创 二维数组与地址

3、数组名 = 地址。(对a[n][m]来说,a[n]为地址) p=&a[0] <==> *p=a <==> p[0] = a[0]2、形参中无数组概念,只能存放数组元素的首地址。(32位的操作系统地址占4个字节,64位的操作系统地址占8个字节)4、a = &a[0][0],代表二维数组的地址(首地址);a+1<==>a[1][0]6、数组指针 = 二维数组名;1、二维数组行可以不写,列得写 arr[][n].

2023-12-18 11:04:10 610

原创 printf打印

打印十六进制形式:不输出前缀0x———%x , %X输出前缀0x————%#x,%#X。4、单独的unsigned (unsigned int 的缩写)———— %u。3、在输出中想保留n位小数———%.nf或者%.nlf n为要保留的小数位数。3、size_t (无符号的int类型)————%zu。打印八进制数:不输出前缀0———%o、输出前缀0 ————%#o。1、(signed)int (有符号整型)———%d。3、char———%d(输出字符对应的ASICC值)

2023-12-18 10:29:34 677

原创 循环\判断\退出

while(条件) { 循环体 };//条件真(1)才会进入循环体,条件假(0)直接跳过循环体 (条件满足才进入循环体,先判断后执行)do{ 循环体 }, while(条件);//最少都会执行一次循环体,再进行判断。(循环体至少执行一次,先执行后判断)if( 判断条件 ) { 执行语句 };//判断条件符合才进入执行语句。case 常量2:语句2;else if( 判断条件 ) { 执行语句 };{ case 常量1:语句1;①break退出:直接退出整个循环。else { 执行语句 };

2023-12-18 10:13:57 478

原创 unsigned

2、在计算机处理二进制数据时,专门规定了一位符号位,来确定数据的正负,这个符号位通常是数据的最高位,如8比特位数据,左边第一位就是符号位,剩下七位用来表示数据大小。无符号就是没有符号位,原来的符号位可以列入计算了。3、整数在计算机中存储是以二进制序列补码的形式存储的,正数的补码和原码一样,但是负数的补码是通过原码到反码到补码转换得到的。1、对于有符号类型的整形打印的时候用%d,对于无符号类型的整形打印时用%u。对于负数来说:反码=原码符号位不变,其他位按位取反 补码=反码+1。补码:11101110。

2023-12-16 08:05:39 437

原创 线程和进程

2、pthread_create(&线程名, NULL,函数,函数的参数);资源开销:每个进程都有独立的地址空间,同一个进程中的个线程共享进程的地址空间。一个具有一定功能的程序在一个数据集合上依次动态执行的过程叫做进程 pid。影响关系:一个进程崩溃后其他进程不受影响,一个线程崩溃后一整个进程都崩溃。包含关系:一个进程至少包含一个线程,线程是进程的一部分。1、进程依赖于程序运行而存在,进程动态,程序静态;3、进程有独立的地址空间,相互隔离,互不影响。3、同一个进程中的线程共享进程的资源。

2023-12-12 14:21:43 371

原创 关于分清楚某某指针或指针某某

②指针数组 装着指针的数组 *p [ n ]①数组指针 指向数组的指针 (*p)[ n ]②指针函数 void *func()①函数指针 void(*func)()

2023-12-09 21:25:50 364

原创 软件设计模式

创建型模式处理的是对象的创建过程(通过各种方式创建对象,使对象创建和管理变得简单),结构型模式处理的是对象/类的组合,行为型模式处理类和对象间的交互方式和任务分布。1. 模板方法(TemplateMethod)模式:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。通过这种方式去除对象之间的耦合。7. 中介者(Mediator)模式:定义一个中介对象来简化原有对象之间的交互关系,降低系统中对象间的耦合度,使原有对象之间不必相互了解。

2023-12-09 09:46:00 441

原创 接收读取数据recv和read;发送数据send和write

send和write的唯一区别就是最后一个参数:flags的存在,当我们设置flags为0时,send和wirte是同等的。1.在网络中的传递错误对send来说是无法检测的,能检测到某些发送错返回-1;ENOTSOCK:sock索引的不是套接字 当返回值是0时,为正常关闭连接;第二个参数:指明一个缓冲区,该缓冲区用来存放接收到的数据;第四个参数:flags参数表示下列标志中的0个或多个。第一个参数:接收消息的套接字的文件描述符。第三个参数:要发送的字节数。第二个参数:要发送的消息。

2023-12-01 08:46:51 448 1

原创 socket套接字server

/IP地址 net_addr()作用是将一个IP字符串转化为一个网络字节序的整数值,用于sockaddr_in.sin_addr.s_addr。6.连接设置:Client_fd = accept(clien_fd,(struct sockaddr*)&s_addr,sizeof(struct sockaddr_in))2.bind地址准备 :bind(sockfd,(struct sockaddr*)&s_addr,sizeof(struct sockaddr_in))//2 端口号。

2023-11-30 08:56:04 409

空空如也

空空如也

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

TA关注的人

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