15

私はPythonに画像をロードしています例:

image = cv2.imread("new_image.jpg")

のRGB値にアクセスするにはどうすればよいimageですか?

4

6 に答える 6

13

できるよ

image[y, x, c]

または同等にimage[y][x][c]

x,y,c座標内のピクセルの値を返します。インデックス作成はで始まることに注意してください0。したがって、3番目のBGR(注:RGBではない)コンポーネントにアクセスする場合は、目的の行と列image[y, x, 2]である場所yを実行する必要があります。x

また、。と入力すると、特定のオブジェクトに対してPythonで使用可能なメソッドを取得できますdir(<variable>)。たとえば、ロード後imageに実行するdir(image)と、いくつかの便利なコマンドが表示されます。

'cumprod'、'cumsum'、'data'、'diagonal'、'dot'、'dtype'、'dump'、'dumps'、'fill'、
'flags'、'flat'、'flatten'、'getfield'、'imag'、'item'、'itemset'、'itemsize'、
'max'、'mean'、'min'、..。

使用法:image.mean()

于 2012-08-29T22:51:56.850 に答える
9

opencvを使用してPythonでピクセルのBGRカラー値を取得します

import cv2
image = cv2.imread("sample.jpg")
color = int(image[300, 300])
# if image type is b g r, then b g r value will be displayed.
# if image is gray then color intensity will be displayed.
print color

出力: [73 89 102]

于 2016-07-05T11:19:27.737 に答える
4

このコードは、ピクセル300、300の赤、緑、青の値を出力します。

img1 = cv2.imread('Image.png', cv2.IMREAD_UNCHANGED)
b,g,r = (img1[300, 300])
print (r)
print (g)
print (b)
于 2020-05-02T17:29:57.420 に答える
0

それは私のためにうまくいきました:

import cv2 
import numpy as np  

cap = cv2.imread('/home/PATH/TO/IMAGE/IMG_0835.jpg')
#You're free to do a resize or not, just for the example
cap = cv2.resize(cap, (340,480))
for x in range (0,340,1):
    for y in range(0,480,1):
        color = cap[y,x]
        print color`
于 2019-06-11T08:42:47.317 に答える
0

画像のRGBを取得する最も簡単な方法はを使用することだと思いますcv2.imshow("windowName",image)。画像はウィンドウで表示され、小さな情報バーには画像の下の座標(x、y)とRGBも表示されます。この写真のように。マウスを使用して、任意のピクセルのRGBを表示できます。

コード例:

import cv2

image = cv2.imread("new_image.jpg")
try:
    cv2.imshow("windowName",image)
    cv2.waitKey(0)
except:
    print("No this image")
于 2021-03-08T17:13:55.950 に答える
-3

numpyを使用すると、画像をnumpy配列に変換し、行列を転置することができます[RGB]は[BGR]になり、その逆も同様です。

于 2019-09-05T10:57:08.940 に答える