自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 ISP-EE(Edge Enhance)

EE模块在某些ISP主控中叫做sharpness或者sharpen,这些名称指代的模块是同一个,不用再纠结。主要就是在YUV域内弥补成像过程中图像的锐度损失,对边缘和细节进行加强,从而恢复场景本应具有的自然锐度。

2023-12-11 10:55:31 503

原创 ISP算法——UVNR

UVNR也就是经过CSC只有在YUV域对UV两个色域进行降噪,在有些方案里也叫CNR(chroma noise reduction)。主要就是在YUV域针对彩燥进行特殊处理的一系列算法。

2023-11-10 14:05:55 733

原创 ISP——CSC

主要介绍ISP pipeline中的CSC转换的相关内容

2022-09-17 16:48:49 2231 3

原创 ISP——CCM

CCM颜色矫正矩阵算法讲解

2022-07-02 18:48:40 6531 1

原创 ISP——Demosaicking

ISP——Demosaicking前言人眼之所以有能感受到自然界的颜色,是因为人眼的感光细胞中有三种锥体细胞对红绿蓝三种颜色敏感,所以我们就可以通过RGB三种颜色来表示一个颜色空间,通过这个颜色空间中的点就能表示自然界中所有的颜色。那么数码相机只要能类似人一样获取自然界中的这三个分量,那么就能复现人眼看到的颜色。相机系统用的感光器件只是一个光电转换器件,所以感光器件只对亮度分量敏感,无法感知颜色,所以需要通过滤光片将光线分解成RGB三个分量然后再用感光期间去接受。那么最直接的方式就是用三个滤光片分别过滤

2022-05-07 12:03:21 2371 1

原创 ISP—BNR

文章目录BNR的必要性矫正方法PCA-Based Spatially Adaptive Denoising of CFA Images for Single-Sensor Digital CamerasPSEUDO FOUR-CHANNEL IMAGE DENOISING FOR NOISY CFA RAWDATANoise Reduction for CFA Image Sensors Exploiting HVS Behaviour算法实现**相关链接**BNR的必要性RAW图上的噪声模型通常用高斯

2021-12-26 18:11:06 4847

原创 NR基础篇下——中值滤波、多级中值滤波、多级中值混合滤波、加权中值滤波、中值有理滤波

上一篇分享了一些均值滤波相关的算法,均值滤波作为一种线性滤波器,在滤除噪声的同时也会导致边缘模糊问题。而且均值滤波对高斯噪声的效果很好,但是对于椒盐噪声的效果就很一般。但是中值滤波作为一种顺序滤波器,对于椒盐噪声的效果很好,而且保边能力很强,所以这一篇主要讨论一下中值相关的算法。中值滤波算法原理中值滤波很好理解,均值滤波就是在一个小窗口中求均值来取代当前像素值,而中值滤波就是通过求小窗口中的中位值来取代当前位置的方式来滤波。如图绿色窗口就是当前的滤波窗口,在一个3X3的邻域窗口中进行滤波。那么中值

2021-10-24 18:57:26 15604 1

原创 自动备份服务端数据到本地windows

应用场景最近有个需求,就是再服务端执行完某条指令后,需要将生成的数据备份到windows。网上查了一圈,都不太好使,有的需要在windows写个脚本运行,但是这个应用中不需要Windows操作,而是监控服务端的运行,执行完成某个指令后直接备份。配置服务端的ssh服务这个一般的服务器都已经配置好了,如果没有配置好可以参考Linux系统下如何配置安装SSH服务 - 系统运维 - 亿速云 (yisu.com)上的方法配置配置完成后输入ssh-keygen一路回车,遇到y/n时yes,显示如下说明OK了。

2021-10-22 20:46:16 505

原创 NR基础篇上——均值滤波、高斯滤波、双边滤波、NLM

人类的世界就是一个信号传输的世界,所以噪声无处不在,图像作为一种信号传输的方式当然也无法幸免。为了尽量减少噪声对图像质量的影响,还原物体的本来状态就提出了一系列降噪的方法,本文就简单介绍几种常见的降噪滤波算法。图像噪声产生的原因矫正方法我将图像去噪的算法大致分位这么几类,包括硬件去噪,从源头降低噪声,常见的方式有CDS(cor related double sampling),但是这种硬件的方式不是ISP涉及的范围所以不做过多介绍。然后就大致分位空域滤波、变换域滤波和时域滤波,当然还有一些其他方式

2021-10-18 19:29:21 4403 2

原创 ISP——HVS

本片博文是一篇笔记,是在看论文的时候碰到下面一段话,反复把论文看了三遍才弄懂,刚开始老觉得和gamma的特性是反的,还一度怀疑论文些错了,经过反复琢磨才弄明白,故此写下笔记记录Higher gap in intensity is needed to perceive a visual difference in very dark areas, whereas for mid and high pixel intensities a small difference in value between ad

2021-08-17 11:26:50 2160

原创 ISP——Gamma Correction

现象上图是百度上找的一张图,是电子发烧友网站的网友的,如果发现侵权了请告知。觉得这张图能很好的看出不同gamma曲线带给人的直观感受的变化。从上往下看左侧黑色块黑得越来越严重,对比度也在逐渐加深。但是需要注意的时这幅图时一个反伽马曲线的特性,和ISP中的gamma表现时反的,这个具体后面回介绍。这个给这张图主要是对gamma有一个直观的理解。Gamma产生的原因CRT属性导致在液晶屏幕诞生前,CRT显示器时唯一的一种显示器,有的同学可能没见过,所以贴张图出来,就是老式电视和电脑那种后面带有一大坨的

2021-08-09 11:21:41 2679 4

原创 ISP——AWB(Auto White Balance)

ISP——AWB(Auto White Balance)现象几个概念人眼具有颜色恒常性,可以避免光源变化带来的颜色变化,但是图像传感器不具备这种特性,从而造成色偏,白平衡就是需要校正这个颜色的偏差;颜色恒常性:颜色恒常是指在照度发生变化的条件下人们对物体表面颜色的知觉趋于稳定的心理倾向;色温的定义:色温描述的是具有一定表面温度的“黑体”(blackbody)的辐射光的光谱特性。简单的理解就是颜色随温度的变化规律,比如生铁就是黑色,加热会变成橘红色,继续加热到液态会呈现偏白的颜色,这种随温度而产

2021-08-01 18:31:43 9216 8

原创 Ubuntu 16.04 SAMBA共享服务安装及配置

最近需要配置一台服务器,仅以此做一个笔记记录安装apt install samba配置服务vi /etc/samba/smb.conf用一下格式添加共享文件[public] comment = share path=/home/public public = no writable = no guest ok = yespublic :共享时用的别名;comment:共享的说明;path:共享的文件夹的路径;public:设置为公共属性;writable:共享后可写,

2021-07-30 14:46:15 329

原创 ISP——DPC(Defective Pixel Correction)

现象造成坏点的原因感光元件芯片自身工艺技术瑕疵造成;光线采集存在缺陷;制造商产品差异;坏点分类hot pixel: 固定保持较高的像素值,一般呈现为画面高亮的点;dead pixel: 固定保持较低的像素值,一般在画面中呈现为暗点;noise pixel:信号强度随光照呈现的变化规律不符合正常的变化规律;矫正方法静态矫正:通常由sensor厂商在生产后进行标定,把所有坏点的坐标位置记录下来,然后矫正的时候直接通过查表得方式找到坏点进行矫正。动态矫正:就是在ISP算法中通过特

2021-07-25 09:28:59 5105 20

原创 ISP——图像插值算法

文章目录空间映射关系前向映射反向映射邻域插值代码如下:双线性插值代码如下:双三次插值代码如下:总结提示差值算法作为一种最常用的算法,在图像放大、旋转等多种变换中都有用到。由于图像进行某种变换后新的图像的像素并非完全和原始图像的像素一一对应,所以导致新的图像中会出现很多“空穴”,这是就需要对这些“空穴”进行填补。所谓插值算法也就是填补的方式。本文主要通过造轮子的方式通过图像放大来介绍三种最常见的插值算法:邻域插值、双线性插值和双三次插值。希望对各位理解插值算法有所帮助。空间映射关系在开始正式介绍插值之前

2021-07-18 23:01:11 1917 1

原创 ISP——LSC(Lens Shading Correction)

ISP——LSC(Lens Shading Correction)现象如图所示就是拍摄纯灰色卡(正常所有像素值一样)时shading的具体现象,上侧称为Luma shading,下侧称为color shading,相比较而言就是color shading除了亮度上有影响,还会影响颜色不一致。原因分析Luma shading原因引起Luma shading的主要原因时镜头的光学特性决定的,本专栏主要讲解ISP,所以这一块只能用通俗的方式解释,可能不太准确。上图是百度下载的,这幅图能比较直观地感

2021-07-13 16:57:11 7638 25

原创 ISP——BLC(Black Level Correction)

ISP——BLC(Black Level Correction)BL产生的原因暗电流暗电流(dark current),也称无照电流,指在没有光照射的状态下,在太阳电池、光敏二极管、光导电元件、光电管等的受光元件中流动的电流,一般由于载流子的扩散或者器件内部缺陷造成。目前常用的CMOS就是光电器件,所以也会有暗电流,导致光照为0的时候也有电压输出。如图是二极管的伏安特性曲线,从图中可以看出在反向截止区域电流并不是完全为0,而我们的COMS内部其实也是PN结构成的,所以符合该特性,并且光电二极管是工

2021-07-04 12:18:06 3436 10

原创 mipiToRaw-bigEnidianAndLittleEndian(大端小端数据补充)

mipiToRaw-bigEnidianAndLittleEndian(大端小端数据补充)在上一篇《MIPI数据与RAW数据的转换》中有读者提出了大端小端的问题,其实上篇写的时候就是为了避免将读者带进这种存储方式中而失去理解算法的主体的误区,就没提这个东西,因为理解好了算法本质,对于这种存储方式的不同稍作变化就OK了。但是既然有人提到这个,为了方便理解上一篇算法,这里就补充一下相关的说明。大小端储存大端存储与小端存储模式主要指的是数据在计算机中存储的两种字节优先顺序。小端存储指从内存的低地址开始,先存

2021-07-02 18:51:32 722 1

原创 ISP--MIPI数据与RAW数据的转换

ISP–MIPI数据与RAW数据的转换问题最近在用海思的raw来做ISP算法的研究,在获取raw图的过程发现了一个问题如下图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NdAykLGs-1625140296500)(\imgs\rawInfo.jpg)]途中可以看出来10bits、12bits、16bits的数据量是一样的,而且还刚好是8bits的两倍,说明8bits的数据是通过一个字节来存储,而其他三种都是通过两个字节来存储。这个就能很好的解释这种现象。但是我又

2021-07-01 19:57:08 3593 8

原创 ISP——ISP PIPELINE

本文主要做个链接,这一期做了视频,就没有写成博客,所以需要的可以观看B站视频https://www.bilibili.com/video/BV1Ay4y1M7BP/如图是一个基本pipeline的流程图然后解释一下各个缩写的意思缩写全称/别称解释DPCDefect Pixel Correction坏点校正BLCBlack Level Correction黑电平校正DenoiseNR降噪LSCLens Shading Correction镜头阴影

2021-06-26 22:59:06 7616 2

原创 ISP——Flicker问题

ISP——Flicker问题ISP中曝光相关概念1. shutter快门是照相机用来控制感光片有效曝光时间的机构。是照相机的一个重要组成部分,它的结构、形式及功能是衡量照相机档次的一个重要因素。一般而言快门的时间范围越大越好。从工作原理可以分为global shutter 和 rolling shutter,简单的理解global shutter就是整个sensor上的所有像素同时感光,经过相同时间后同时结束感光,而rolling shutter则是行扫描,每一行都得经历重置,曝光,读取数据的过程,然

2021-06-18 14:41:40 3717 7

原创 Matlab程序打包可执行程序

Matlab程序打包可执行程序方法一: 命令行方法直接使用一下命令就可以在当前pwd路径下生成一个与fileName同名的exe文件,此文件即为可执行文件。mcc -m fileName.m常用参数讲解:m: 最简单的打包成文件;e: 替换m打包生成的可执行文件在运行的时候不显示cmd窗口;o: 后面接一个字符串即为打包生成的可执行文件的文件名,默认状态和打包使用的m文件同名;可以使用help mcc查看更多参数的作用。方法二: 可视化打包在命令行输入deploytool命令出

2021-06-05 19:00:43 1750 1

原创 pyinstaller打包Python项目总结

pyinstaller打包Python项目总结一、单个文件打包简单打包例如现在有一个main.py文件内容如下import osprint("hello world")os.system("pause")运行结果如图现在用一下命令打包成一个可执行文件pyinstaller -F main.py再同级目录下生成一个dist文件夹里面就会生成一个可执行文件,双击就可以执行带图标打包有的时候为了美观,可以给可执行文件加一个图标,这时用这个命令pyinstaller -F main.py

2021-05-24 16:16:39 614 2

原创 Linux安装arm交叉编译器

Linux安装arm交叉编译器总结一下Linux(本文是基于Ubuntu16.04 64位版)下arm交叉编译工具链的安装及配置步骤,按照此顺序可以避免很多不必要的错误。注意:建议在执行以下所有命令前先进入root权限模式sudo su避免发生不必要的错误。一、安装软件包注意:建议在执行以下所有命令前先进入root权限模式sudo su避免发生不必要的错误。配置默认使用bashsudo dpkg-reconfigure dash 选择 no安装软件包,执行以下命令sudo apt-

2021-02-25 15:59:25 1617

原创 一文搞定matplotlib数据可视化

目录matplotlib的绘图方式1、使用pylab方式2、pyplot方式3、面向对象的方式基本图形绘制1、散点图绘制2、折线图3、条形图4、直方图5、饼状图6、箱型图7、热力图8、极坐标样式设置1、子图和多图2、网格3、图例4、坐标轴范围5、设置坐标轴刻度6、横坐标为日期7、添加坐标轴8、添加注释9、添加纯文字10、Tex数学公式11、样式美化matplotlib的绘图方式使用pyplot:简单易用,可以实时交互使用pylab:对matplotlib和numpy进行了封装,类似Matlab的变成

2020-12-14 19:19:25 252

原创 QT的打包及发布

QT的打包及发布打包成可执行文件打包的作用,将工程打包成可执行文件,脱离QT也可以运行,便于使用。将这个地方切换成release模式,编辑模式是debug模式。选择好release模式后重新编译整个工程。此时在工程目录下回多出如下的文件夹(不同版本的QT,QT后的版本数字不一样)在上图的目下的release目录下找到一个.exe的文件。此时的改文件还无法单独执行,需要一些动态库的支持。将该EXE文件拷贝到一个单独的文件夹中。用QT自带的终端进入到存放exe文件的目录在终端中

2020-08-23 08:58:20 181

原创 QT——收手打造一款自己的串口助手

serialAssistant使用方式:直接打开AppPackage,双击EXE文件即可运行,已经打包好。源代码在serialAssistan目录下,直接用qt打开.pro工程即可查看。代码说明UI界面设计用到的空控件:PushButton、ComboBox、LineEdit、PlainTextEdit、Label和弹簧及一些布局控件。直接从左边拖拽到右边放到指定的位置即可。需要注意的时接受框PlainTextEdit需要设置为只读模式。逻辑思路串口号的获取QStringList ser

2020-08-23 08:03:33 280

原创 sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set问题

问题在使用sudo是提示sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set无法进入root权限。解决方法在网上各处搜索的结果的整理,记录以下,方便后期查看。reboot重启并按住Esc键进入启动模式并选择Advanced options选项。接下来选择recovery mode。接下来选择root选项。选择root后在下方终端中输入密码,进入root模式终端。接下来执行以下操作即可mount

2020-06-05 19:50:49 15402 2

原创 Ubutun磁盘突然爆满,删去文件一会儿又爆满

时间描述某日照常打开虚拟机的ubutun 16.04准备工作,但是却没有像往常一样打开桌面,而是进入了tty终端,并且让输入密码,输入startx想进入桌面,还是没进去,仔细查看说明,提示没有空间,于是果断在tty终端删除了一个5G的备份文件,重新reboot终于进入了梦寐以求的桌面。可是好景不长,没过十分钟磁盘再次爆满,关键是这十分钟我都在看东西,啥都没干,真时见鬼了,几个G的内存就这么不易而非,我怎么能甘心,于是开始了和ubutun的斗智斗勇。具体现象在tty终端删除部分文件后进入了桌面终端,

2020-06-05 19:32:03 4283

原创 QT手把手打造通讯录

QT手把手打造通讯录功能及界面介绍打开通讯录默认小时所有人的信息。通过输入姓名可以查询指定人的信息。点击添加表格会自动生成一行,填写好后点击修改即可完成添加。直接在已有内容上修改后点击修改即可完成修改。选中一行后点击删除就可以删除该条信息。功能逻辑实现功能的实现都是用QSqlTableModel通过QT的API操作数据库,避免SQL语句,共能很简单注释也很清楚,就不坐更多解释,有不清楚的可以留言,我有比较简单的资料可以查看。1. 连接数据库static bool createCon

2020-06-03 20:02:00 4418 2

原创 QT手把手打造预约系统——教师用户

QT手把手打造预约系统——教师用户效果展示功能演示:https://editor.csdn.net/md?articleId=106530895教师界面介绍查看预约,可以查看所有学生的预约。查看待审核的预约方便审核,点击后只显示需要审核的预约信息。审核预约,选中一条待审核信息后点击审核机会弹框提示是否通过,选择一项即可完成审核。页面设计界面设计用的空间都是前面几个页面用到的,就不在重复。功能逻辑实现查看预约信息/************************

2020-06-03 19:20:22 3105

原创 QT手把手打造预约系统——学生用户

QT手把手打造预约系统——学生用户效果展示功能演示:https://editor.csdn.net/md?articleId=106530895学生用户界面介绍左上角显示机房的余量信息,默认周一,可以通过预约日期的通过自动调整。右侧为预约提交区域,选择好相应的预约信息,点击申请即可完成预约。下方显示预约信息,点击查看自己预约显示自己的预约信息,查看所有就会显示所有人的预约信息。在自己的预约信息中选择一项后点击取消则出现如下图所示提示,点击确认后即完成取消。页面UI设计将需要的控

2020-06-03 19:17:33 4139 5

原创 QT手把手打造预约系统——管理员

QT手把手打造预约系统——管理员效果展示功能演示:https://editor.csdn.net/md?articleId=106530895管理员界面介绍点击查询用户会在框中显示用户信息。修改用户信息直接在显示的表格中修改后点击该按钮即可。删除用户,选中表格中的用户,点击即可删除。查询机房信息,点击即可完成。添加用户,先在左侧填写好相关信息,然后点击添加即可。清空预约,点击即可完成清空,按照需求,管理员可以每周清空一次。页面UI设计除了使用登录界面的几个控件外,本界面多了如图

2020-06-03 19:12:54 4145

原创 QT手把手打造预约系统——登录界面

QT手把手打造预约系统——登录界面效果展示功能演示:https://editor.csdn.net/md?articleId=106530895登录界面处事窗口在用户ID处输入用户ID,没用选择用户名是因为可能存在同名学生,使用ID这种唯一标识更有区分性。用户在密码区输入密码,且以密文形式展示,便于保密。点击登录即可。登录异常当用户名或者密码错误是,会有弹窗提示。登录成功当用户登录成功后调转到不同身份用户的界面。本项目有学生、教师和管理员三个身份,所以系统会根据登录人的ID自动跳

2020-06-03 19:07:53 4765 7

原创 C语言小项目——动手打造属于自己的C语言IDE

自己动手打造属于自己的C语言IDE**建议:**建议先观看功能演示,然后根据功能演示想想思路,然后看博文中的思路,最后再看博文代码,最后再看完整代码,这样效果会更好。**功能介绍:**一款基于QT的简易c语言编辑器,可以编辑,编译和运行。**环境配置:**编译运行功能的前提是windows平台上已经安装gcc并配置到系统环境变量中,这个的配置方式可自行百度,很多帖子有讲。或直接安装QT,便于...

2020-04-21 14:55:33 3671

原创 c++ 编译报错——std::basic_ifstream::open

c++ 编译报错——error: no matching function for call to ‘std::basic_ifstream::open(std::__cxx11::string&, const openmode&)’错误出现之前在Mac上开发正常,然后换到ubutun上的时候就开始报错。具体代码如下#include <iostream>#inc...

2020-04-21 11:37:33 3611

原创 Java自学必备

Java自学必备一些云盘java资料分享,都是前期网上找的,因为需求变了,也没有深入研究java,所以分享出来给大家学习。《Java核心技术第九版》《适合初学者学习的合集》里面有一些列资料,可以通过连接查看《JavaWeb相关》《Java编程思想 第四版》《重构-改善代码的设计》《Oracle数据库性能优化》《代码大全2中文版》《Java SE类库查询手册》《使用J@EE设计...

2020-04-13 18:01:25 2446

原创 STL-map/multimap容器常见错误分析

STL-map/multimap容器一、map基本概念简介map中所有元素都是pairpair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)所有元素都会根据元素的键值自动排序map和multimap区别:map不允许容器中有重复key值元素multimap允许容器中有重复key值元素了解Python的同学可能知道这个和Python里的字典类型对...

2020-04-12 17:20:07 1080

原创 C++核心——类中的const关键字

C++核心——类中的const关键字在C中我们都知道const修饰的变量时不可改的,C++中这条原则同样使用,但是C++中类中使用const时有一些特殊用法,本文主要记录类中的一些特殊用法。利用const的常函数成员函数后加const后我们称为这个函数为常函数下面示例中ShowPerson函数就是一个常函数,形式为函数名,形参括号后面加上const修饰词,这种结构的函数就是常函数。#in...

2020-04-12 16:14:07 3600

原创 C++核心——类中的权限

C++核心——类中的权限C++中权限分为三种等级public、protected、private。主要用于限定类中的成员和继承时继承的方式的选择。类中成员的权限代码1#include <iostream>using namespace std;class Base{private: int a;protected: int b; public:...

2020-03-28 16:08:05 2261

自己动手打造C语言IDE源码

自己动手打造c语言IDE博文源代码,基于QT开发,内部实现主要利用C语言完成,API用的QT自带的。

2020-04-21

空空如也

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

TA关注的人

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