程序:
import numpy as np import cv2 img = cv2.imread('G:/10.jpg', cv2.IMREAD_COLOR) width,height,c=img.shape # 调整大小 size = (int(width * 0.03), int(height * 0.05)) shrink = cv2.resize(img, size, interpolation=cv2.INTER_AREA) cv2.namedWindow("pic",cv2.WINDOW_NORMAL) cv2.namedWindow("pic1",cv2.WINDOW_NORMAL); rows,cols,channels=shrink.shape print('img',shrink.shape) skin = np.zeros((rows,cols), dtype=np.uint8) ycrcb = cv2.cvtColor(shrink, cv2.COLOR_BGR2YCR_CB) y,cr,cb = cv2.split(ycrcb) for i in range(0, rows): for j in range(0, cols): if (cr[i][j] > 140) and (cr[i][j] < 175) and (cb[i][j] > 100) and (cb[i][j] < 120): skin[i][j] = 255 else: skin[i][j] = 0 cv2.imshow('pic',shrink) cv2.imshow('pic1', skin) cv2.waitKey(0) cv2.destroyAllWindows()
调试结果: