用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()

相关推荐
u0109147601 分钟前
如何排查SQL存储过程内存溢出_优化大数据量临时表使用
jvm·数据库·python
光影少年1 分钟前
vite+rust生态链工具链
开发语言·前端·后端·rust·前端框架
skywalk81632 分钟前
当前有什么流行的lisp的web框架吗?
开发语言·前端·lisp
2301_773553622 分钟前
mysql如何优化mysql在多核CPU下的性能_调整线程并发数
jvm·数据库·python
天若有情6734 分钟前
C++进阶:普通重载运算符 vs 隐式类型转换重载运算符,一篇讲透区别
开发语言·c++·算法
源码之家6 分钟前
计算机毕业设计:Python股票智能分析预测平台 Flask框架 数据分析 可视化 机器学习 随机森林 大数据(建议收藏)✅
python·机器学习·数据分析·django·flask·课程设计
a9511416426 分钟前
PHP如何批量处理AI请求_队列系统搭建【技巧】
jvm·数据库·python
sinat_383437367 分钟前
如何实现SQL简单数据的映射查询_使用CASE表达式替换
jvm·数据库·python
ZWZhangYu7 分钟前
MCP 实战:从协议原理到 Java 自定义工具服务落地
java·开发语言·人工智能
2401_835956817 分钟前
JavaScript 中实现基于分组的前端产品筛选功能
jvm·数据库·python