shuzo-kino.hateblo.jp
で使ったmjpg-streamerで入力にOpenCVを使えるらしいことがわかり、実験してみることに。
実際のところ
$ mjpg_streamer -i "input_opencv.so --filter cvfilter_py.so --fargs path/to/filter.py"
C++とPython3のインターフェイスがあるのですが、私は軟弱者なので後者で
このfilter.pyには書き方のお作法があり
init_filterというメソッドを最初に呼び出す事、つかう画像はnupyarrayでないといけない事
def filter_fn(img): ''' :param img: A numpy array representing the input image :returns: A numpy array to send to the mjpg-streamer output plugin ''' return img def init_filter(): return filter_fn