从您的白色背景(非灰色)图像开始,我找到了这个阴影蒙版
import cv2
import numpy as np
im = cv2.imread('images/lego-shadow.png')
cvt=67 #or 41
dc=112
if dc<1:
dc = 0
while True:
try:
img = cv2.cvtColor(im,cvt)
lower = (80, 80, 80)
upper = (80+dc, 80+dc,80+dc)
mask = cv2.inRange(img, lower, upper)
cv2.imshow('mask',cv2.resize(mask,(640,480)))
except:
pass
k=cv2.waitKey(33) & 0xFF
if k==ord('1'):
cvt-=1
print(cvt)
if k==ord('2'):
cvt+=1
print(cvt)
if k==ord('3'):
dc-=1
print("dc ",dc,lower,upper)
if k==ord('4'):
dc+=1
print("dc ",dc,lower,upper)
if k==ord('c'):break
https://i.stack.imgur.com/wQSXN.png
代码的作用
cv2.cvtColor(image , here the number that indendify conversion code )
这里有 cvtColor 使用的所有颜色转换代码:
https://docs.opencv.org/3.4/d8/d01/group__imgproc__color__conversions.html
键盘键 1,2(用于 cvt 代码)和 3,4(用于 delta color dc)用于增加或减少它们的值。
使用这些键可以快速找到许多掩码组合。
所以,享受吧!