我指的是:How to extract RGB from an image and plot only RG as a graph? R for X and G for Y
我把它改成了二维的,然后读取Y-Cr-Cb值,但是在3d中绘制没有什么大不了的,主要的是绘制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最小值)&;(Cb>;Cb最小值)&;(Cb<;Cb最大值)&;(Cr>;Cr最小值)&;(Cr<;Cr最大值)) 作为一种颜色,并绘制不属于这些边界的其他点作为另一种颜色。提前感谢您的帮助!你知道吗
请将代码的最后3行替换为以下几行:
相关问题 更多 >
编程相关推荐