当前位置: 首页 > article >正文

用Python进行RU计算

一、说明
Relative Uniformity的计算步骤:

  1. RAW转Y进行计算
  2. 按照公式要求进行点位的计算
  3. 然后按照每个半径下值进行结果的判断

下图只是一个示例,
在这里插入图片描述

二、上代码
只上部分代码,请理解,有疑问可以沟通
import cv2
import numpy as np
import img_raw
for seq in range(ringNums):
r = (seq + 1.5) * ringSpacing
numSquares = 8 * (seq + 1)
for m in range(numSquares):
tempAngle = 2 * np.pi * m / numSquares
m_x = np.cos(tempAngle)
m_y = np.sin(tempAngle)
temppts_x = int(nImageWidth / 2 + r * m_x - blockSize // 2)
temppts_y = int(nImageHeight / 2 + r * m_y - blockSize // 2)
if 0 <= temppts_x < nImageWidth - blockSize and 0 <= temppts_y < nImageHeight - blockSize:
block = img[temppts_y:temppts_y + blockSize, temppts_x:temppts_x + blockSize]
rings_blockMeanY[seq].append(np.mean(block))

#= 绘制ROI(如果需要)
cv2.rectangle(rgb_image, (temppts_x, temppts_y), (temppts_x + blockSize, temppts_y + blockSize), (0,0,0), 5)

#将RAW10转换为RAW8,用于画图
raw_data_8bit = (img1 / 4).astype(np.uint8)
rgb_image = cv2.cvtColor(raw_data_8bit, cv2.COLOR_BAYER_BG2RGB)

cv2.namedWindow(‘RU’, cv2.WINDOW_NORMAL)
cv2.imshow(‘RU’, rgb_image)
cv2.waitKey(0)
cv2.destroyAllWindows()


http://www.kler.cn/a/470971.html

相关文章:

  • 设计模式(1)——面向对象和面向过程,封装、继承和多态
  • 【阅读】认知觉醒
  • pymodubs TCP 无链接报错: pymodbus.exceptions.ConnectionException: Modbus Error
  • 微软 2024 最新技术全景洞察
  • 初学STM32 --- USMART
  • nodeJS下npm和yarn的关系和区别详解
  • Qt pdf分割成png格式
  • 5.zookeeper可视化工具ZooInspector
  • QT自定义工具条渐变背景颜色一例
  • 基于YOLOV5的车辆跟踪与目标检测
  • 【C++数据结构——内排序】希尔排序(头歌实践教学平台习题)【合集】
  • 【FlutterDart】 listView例子一(13 /100)
  • 高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图
  • 抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版
  • 可缩放大屏布局方式
  • K8S中的Pod生命周期之容器探测
  • 理解 maven-jar-plugin:如何使用 Add-Opens 配置解决 Java 模块访问问题
  • 亚远景-ASPICE评估:提升汽车软件开发过程的质量与效率
  • QT中如何通过QFile正确读写、覆盖、追加写入内容?
  • docker的基本操作示例
  • sqli-labs靶场环境搭建
  • package.json解决依赖冲突
  • WebSocket 客户端开发:浏览器实战
  • vue3中el-table实现多表头并表格合并行或列
  • 【数据挖掘】深度高斯过程
  • 小米智能哑铃上市,代理 IP 视角下的智能健身新篇