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

相关推荐
大数据学习爱好者几秒前
基于python商品比价系统requests爬虫+可视化+Django框架
大数据·开发语言·python
代码的乐趣12 分钟前
支持selenium的chrome driver更新到133.0.6943.53
chrome·python·selenium
不会敲代码的XW24 分钟前
对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,其各自的优势
开发语言·php
pchmi41 分钟前
C# OpenCV机器视觉:SoftNMS非极大值抑制
人工智能·opencv·c#·机器视觉·opencvsharp
子午41 分钟前
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
人工智能·python·深度学习
关关钧43 分钟前
【R语言】t检验
开发语言·r语言
真想骂*1 小时前
Python中是否有类似R语言中rds的功能,可将对象保存为文件?
开发语言·python·r语言
zjkzjk77111 小时前
函数指针(Function Pointer)与 typedef int (*FuncPtr)(int, int);typedef与using(更推荐)
开发语言·c++·算法
一匹电信狗1 小时前
C++引用深度详解
c语言·开发语言·c++·visual studio
祝星阑1 小时前
Elixir语言的数据库交互
开发语言·后端·golang