89184


縦aピクセル、横bピクセルの画像に対して、縦方向のRGB値についてそれぞれ平均値をとり、その平均値を使って、縦1ピクセル、横bピクセルの画像を作成したいのですが、3次元配列にうまく変換できません。どうすればよいでしょうか。

[code]

     import cv2
     import numpy as np
    
     img =cv2.imread ('input.jpg')
     b_mean = img[:,:,0].mean(axis=0)
     g_mean = img[:,:,1].mean(axis=0)
     r_mean = img[:,:,2].mean(axis=0)
     img_mean = np.stack([b_mean, g_mean, r_mean], 1)
     img_mean = img_mean.astype(np.uint8)
     cv2.imwrite('output.jpg', img_mean)
    
[/code]


CC BY-SA 4.0
2022-06-01T12:08:54.970
89183
2022-06-01T14:33:29.330
2022-06-01T12:14:07.610
28856
28856
question
python opencv numpy
画像のRGB値について、縦方向に平均値を計算し、その値を使って横に細長い画像を作りたい

[code]

    #img_mean = np.stack([b_mean, g_mean, r_mean], 1)
    img_mean = np.stack([b_mean, g_mean, r_mean], 1)[None,:,:]
    
[/code]


CC BY-SA 4.0
2022-06-01T14:33:29.330
89184
2022-06-01T14:33:29.330
47127
89183
answer