python - 跨轴的numpy进程
问题描述
我有一个将 RGB 图像转换为 YCbCr 的函数。图像是 hwc 格式,其中 h 是高度,w 是宽度,c 是通道。
我有一个 NumPy 数组,其中包含以下格式的 RGB 中的多个图像:
nhwc 其中 n 是图像的数量。
我想将所有图像从 RGB 转换为 YCbCr。而不是循环n,正确的方法是什么?
#Function to convert RGB to YCrCb (img in hwc format)
def processimg(img):
img = np.array(img).astype(np.float32)
ycbcr = convert_rgb_to_ycbcr(img)
return ycbcr
def convert_rgb_to_ycbcr(img, dim_order='hwc'):
y = 16. + (64.738 * img[..., 0] + 129.057 * img[..., 1] + 25.064 * img[..., 2]) / 256.
cb = 128. + (-37.945 * img[..., 0] - 74.494 * img[..., 1] + 112.439 * img[..., 2]) / 256.
cr = 128. + (112.439 * img[..., 0] - 94.154 * img[..., 1] - 18.285 * img[..., 2]) / 256.
return np.array([y, cb, cr]).transpose([1, 2, 0])
解决方案
推荐阅读
- python - 使用大型 Postgres 表加入 pandas 数据框?
- node.js - react应用中的操作响应状态码
- rascal - 在访问期间移除 CST 分支
- mongodb - MongoDb 使用 $add 聚合嵌套文档
- oracle - 在 ATP oracle 数据库中使用 HTP.P
- c# - 如何使用 protobuf-net 将 C# 日期时间转换为 Python 日期时间?
- javascript - 如何在anycharts中创建分时图表
- arrays - 将 sed 传递给数组以替换第一个匹配项不起作用
- php - 在 PHP (Yii2) 中显示 Oracle 抽象数据类型 (ADT)
- consul-template - 在领事模板中嵌套环境变量