H

Pythonで影を検出したい!

 

一切難しい話を使わずに、Pythonで影を検出したい

 

 

そう思って開発した。

なんかいろいろ設定して、影を認識するようにした。

f:id:SCUSER:20210201224136j:plain

この画像を処理すると、f:id:SCUSER:20210201224201j:plain

このようになる。なお赤い部分が影である。

 

コードは下記の通り

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)

 

※コード中の大文字カッコは脚注にならないようにするため。