1
ポスト:しかし3Dでそれをプロットし、私はそれだけで、2D可能とY CrのCb値を読み込むように変更How to extract RGB from an image and plot only RG as a graph? R for X and G for Y境界によってプロットクロミナンスと背景
は、大した主なものだけでプロットされていないですCb Cr値を計算し、私が掲示した境界に基づいてそれを実行します。
import numpy as np
import cv2
import matplotlib.image as mpimg
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
#Variables
Y_MIN = 80
Y_MAX = 255
Cb_MIN = 85
Cb_MAX = 135
Cr_MIN = 135
Cr_MAX = 180
img = mpimg.imread('Webcam.png')
YCR_CB = cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB)
pixels = YCR_CB.shape[0]*YCR_CB.shape[1]
channels = 3
data = np.reshape(YCR_CB[:, :, :channels], (pixels, channels))
histo_rgb, _ = np.histogramdd(data, bins=256)
Y, Cb, Cr = np.nonzero(histo_rgb)
plt.scatter(Cb, Cr)
plt.title('Chrominance')
plt.show()
私はこれを取ると、それは(CB、Cr)の ((Y> Y_MIN)&(CB> Cb_MIN)&(CB < Cb_MAX)&(CR> Cr_MINに収まる値をプロットしたいです)&(Cr < Cr_MAX)) を1色として、これらの境界内に収まらない残りの点を別の色としてプロットします。ご協力いただきありがとうございます!