Pythonで影を検出したい!
一切難しい話を使わずに、Pythonで影を検出したい
そう思って開発した。
なんかいろいろ設定して、影を認識するようにした。
この画像を処理すると、
このようになる。なお赤い部分が影である。
コードは下記の通り
import numpy
from PIL import Image
BLACK_RGB = (0, 0, 0)
Count = 10
Tolerance = 10
ShadowCoo =
ShadowSumpleRGB =
U = ''
im = numpy.array(Image.open(U).convert('L').resize((500, 500)))
if numpy.mean(im) < 100:
im = im + 70
elif numpy.mean(im) > 200:
im = im - 70
im2 = im
im2[numpy.where(im2 < 12)] = 255
im2[numpy.where(im2 == 188)] = 0
img = (im2 > 128) * 255
im = im2
im2 = numpy.array(Image.open(U).resize((500, 500)))
ShadowCoo = numpy.where(img == 0)
DrawColor = numpy.array([255, 0, 0])
im2[ShadowCoo] = DrawColor
Image.open(U).convert('RGB').resize((1000, 1000)).save('before.jpg')
Image.fromarray(im).convert('RGB').resize((1000, 1000)).save('test.jpg')
Image.fromarray(im2).convert('RGB').resize((1000, 1000)).save('test2.jpg')
Image.fromarray(img).convert('RGB').resize((1000, 1000)).save('test3.jpg')
l = numpy.mean(im, axis=0)
l2 = numpy.mean(im, axis=1)
※コード中の大文字カッコは脚注にならないようにするため。