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

相关推荐
会员源码网7 小时前
Python中生成器函数与普通函数的区别
python
Java水解7 小时前
Python开发从入门到精通:Web框架Django实战
后端·python
曲幽9 小时前
FastAPI + PostgreSQL 实战:给应用装上“缓存”和“日志”翅膀
redis·python·elasticsearch·postgresql·logging·fastapi·web·es·fastapi-cache
Lupino12 小时前
别再只聊 AI 写代码了:技术负责人要把“变更治理”提到第一优先级
python·docker·容器
Flittly13 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(6)Context Compact (上下文压缩)
python·agent
曲幽1 天前
FastAPI + PostgreSQL 实战:从入门到不踩坑,一次讲透
python·sql·postgresql·fastapi·web·postgres·db·asyncpg
用户8356290780511 天前
使用 C# 在 Excel 中创建数据透视表
后端·python
码路飞1 天前
FastMCP 实战:一个 .py 文件,给 Claude Code 装上 3 个超实用工具
python·ai编程·mcp
dev派1 天前
AI Agent 系统中的常用 Workflow 模式(2) Evaluator-Optimizer模式
python·langchain
前端付豪1 天前
AI 数学辅导老师项目构想和初始化
前端·后端·python