代码在git

相机中的坏点就是那些和周围不一样的点,就是那些数值极大或者极小值点,你可以理解一张曲面的山峰或者山谷,人群中也是一样,那些与大众不一样的人就是"坏人",衡量好坏用他与周围的差值,

abs[V(好人)-v(坏人)]
 if (abs(p1 - p0) > self.thres) and (abs(p2 - p0) > self.thres) and (abs(p3 - p0) > self.thres) \and (abs(p4 - p0) > self.thres) and (abs(p5 - p0) > self.thres) and (abs(p6 - p0) > self.thres) \and (abs(p7 - p0) > self.thres) and (abs(p8 - p0) > self.thres):
threds=30

那个最优秀的人就是坏人,不,是坏pixel
p6 p7 p8
p4 p0 p5
p1 p2 p3
代码
#!/usr/bin/python
import numpy as npclass DPC:'Dead Pixel Correction'def __init__(self, img, thres, mode, clip):self.img = imgself.thres = thresself.mode = modeself.clip = clipdef padding(self):#在四周放两个0 从(1080,1920) --->(1084,1924)img_pad = np.pad(self.img, (2, 2), 'reflect')return img_paddef clipping(self):#np.clip是一个截取函数,用于截取数组中小于或者大于某值的部分,并使得被截取部分等于固定值#限定在()0,1023np.clip(self.img, 0, self.clip, out=self.img)return self.imgdef execute(self):img_pad = self.padding()raw_h = self.img.shape[0]raw_w = self.img.shape[1]dpc_img = np.empty((raw_h, raw_w), np.uint16)for y in range(img_pad.shape[0] - 4):for x in range(img_pad.shape[1] - 4):p0 = img_pad[y + 2, x + 2]p1 = img_pad[y, x]p2 = img_pad[y, x + 2]p3 = img_pad[y, x + 4]p4 = img_pad[y + 2, x]p5 = img_pad[y + 2, x + 4]p6 = img_pad[y + 4, x]p7 = img_pad[y + 4, x + 2]p8 = img_pad[y + 4, x + 4]if (abs(p1 - p0) > self.thres) and (abs(p2 - p0) > self.thres) and (abs(p3 - p0) > self.thres) \and (abs(p4 - p0) > self.thres) and (abs(p5 - p0) > self.thres) and (abs(p6 - p0) > self.thres) \and (abs(p7 - p0) > self.thres) and (abs(p8 - p0) > self.thres):if self.mode == 'mean':p0 = (p2 + p4 + p5 + p7) / 4elif self.mode == 'gradient':dv = abs(2 * p0 - p2 - p7)dh = abs(2 * p0 - p4 - p5)ddl = abs(2 * p0 - p1 - p8)ddr = abs(2 * p0 - p3 - p6)if (min(dv, dh, ddl, ddr) == dv):p0 = (p2 + p7 + 1) / 2elif (min(dv, dh, ddl, ddr) == dh):p0 = (p4 + p5 + 1) / 2elif (min(dv, dh, ddl, ddr) == ddl):p0 = (p1 + p8 + 1) / 2else:p0 = (p3 + p6 + 1) / 2dpc_img[y, x] = p0self.img = dpc_imgreturn self.clipping()

isp 图像算法(二)之dead pixel correction坏点矫正相关推荐

  1. DPC(Defect Pixel Correction)——坏点检测

    产生原因 校正方法 代码 PINTO算法 readRAW function rawData = readRaw(fileName, bitsNum, row, col) % readRaw.m get ...

  2. ISP——坏点矫正(Defective Pixel Correction,DPC)

    文章目录 一.出现原因 二.坏点分类 三.矫正方法 动态矫正 1.PINTO算法 2.中值梯度滤波法 3.DPC和demosaic结合法 4.行检测法 四.代码 一.出现原因 1.感光元件芯片自身工艺 ...

  3. ISP——DPC(Defective Pixel Correction)

    现象 造成坏点的原因 感光元件芯片自身工艺技术瑕疵造成: 光线采集存在缺陷: 制造商产品差异: 坏点分类 hot pixel: 固定保持较高的像素值,一般呈现为画面高亮的点: dead pixel: ...

  4. Dead Pixel CodeForces - 1315A(思维)

    Screen resolution of Polycarp's monitor is a×b pixels. Unfortunately, there is one dead pixel at his ...

  5. 图像算法二:【图像几何变换】平移、镜像、转置、缩放、旋转、插值

    作为一个强大的科学计算软件,MATLAB广泛运用于较多领域,以其简单的编程风格著称.这篇文章便通过matlab语言来讲述如何进行图像的各种几何变换. 图像几何变换又称为图像空间变换,它是将一幅图像中的 ...

  6. 玩转Android10源码开发定制(二)之基于Pixel 3手机超级详细演示recovery刷机

    玩转Android10源码开发定制(二)之基于Pixel 3手机超级详细演示recovery刷机 本节主要内容: Pixel 3通过fastboot方式刷入Android 11.0官方工厂镜像 Pix ...

  7. 玩转Android10源码开发定制(二)之基于Pixel 3手机超级详细演示fastboot刷机

    玩转Android10源码开发定制(二)之基于Pixel 3手机超级详细演示fastboot刷机 本节主要内容: Pixel 3通过fastboot方式刷入Android 11.0官方工厂镜像 Pix ...

  8. ISP_DPC坏点矫正

    ISP_DPC坏点矫正 坏点介绍 图像坏点(Bad pixel) : 图像传感器上光线采集点(像素点)所形成的阵列存在工艺上的缺陷,或光信号进行转化为电信号的过程中出现错误,从而会造成图像上像素信息错 ...

  9. (Lens Shading Correction)镜头阴影矫正,基于面阵工业相机GigE

    LSC (Lens Shading Correction)镜头阴影矫正 现象: 相机成像会出现中心亮,四周暗的现象:益或在RGB图中出现色彩不均匀的现象,这会为系统引入大量的噪声. 原因分析:这种现象 ...

最新文章

  1. HTTP/TCP/IP协议
  2. shell 实现memcache缓存命中率监控脚本
  3. 博士学位论文 | 机器阅读理解与文本问答技术研究
  4. Smart Template tile的绘制原理
  5. java 递归 堆栈_Java中的堆栈安全递归
  6. 51nod 1278 相离的圆
  7. 爬虫推特数据分析的外文文献_高效阅读英文文献你必须知道的技巧
  8. 找不到php fpm.pid,找不到文件nginx php-fpm
  9. 微信端打开页面,布局乱了
  10. ubuntu 导入mysql_Ubuntu16.04系统mysql命令导入导出sql文件
  11. 如何用计算机做函数,office2010中如何利用公式或函数进行计算
  12. 路由模式和桥接模式的区别
  13. java课程设计模拟科学计算器_JAVA课程设计科学计算器
  14. 射频测试系统|射频信号测试软件NSAT-1000
  15. Rmarkdown直觉以及常用katex语法
  16. DVWA V1.9:Reflected Cross Site Scripting(存储型XSS)
  17. 阿里云正式发布小程序Serverless 为用户提供一套代码多端使用
  18. 强国杯半决赛东部赛区部分wp
  19. react中将json对象转换为数组
  20. PCI/PCIe 的那些事(1)- 总线基本知识

热门文章

  1. 32.C#--方法中使用out参数做登录判断
  2. 洛谷——P2256 一中校运会之百米跑
  3. 配置管理篇(0)_SaltStack 安装
  4. 【node测试系列】几款前端测试断言库(Assertions lib)的选型总结
  5. 51 nod 1427 文明 (并查集 + 树的直径)
  6. [转] UML类图的几种关系总结
  7. E:Unable to locate package libssl-dev:i386
  8. python项目ImportError: Plotly express requires pandas to be installed.解决方案
  9. android+模拟器皮肤,自定义android模拟器皮肤和键盘映射
  10. php二进制流转bmp图片,php图片的二进制转换实例