🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2490閲覧

opencv 背景差分の処理内容について教えてください。

gomsis

総合スコア11

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/12/14 06:38

編集2020/12/14 09:56

質問内容

プログラムの処理内容について質問です。
背景画像と別画像の差分を行いたいと考えています。

このサイトを参考に背景差分プログラムを作成したのですが、bg_diff_path = './diff.jpg' の処理がよく分からないのですが、もしわかる方がいらっしゃいましたら教えていただけますでしょうか。fgmaskで各画像の前景を取得するところまではなんとなくわかったのですが…

###該当のソースコード

python

1import cv2 2import numpy as np 3import matplotlib.pyplot as plt 4%matplotlib inline 5 6img1 = cv2.imread("reth-morclose-09393.jpg",0) 7img2 = cv2.imread("reth-morclose-09944.jpg",0) 8 9fgbg = cv2.bgsegm.createBackgroundSubtractorMOG() 10 11fgmask = fgbg.apply(img1) 12fgmask = fgbg.apply(img2) 13 14bg_diff_path = './diff.jpg' 15 16 17cv2.imwrite(bg_diff_path,fgmask) 18

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

肝心の,行いたい

プログラムの処理内容

というはあなたしか知り得ないので,説明は誰もできません.
(取得した前景の画像を何に用いてどうしたいのか?)

BackgroundSubtractorMOGの使い方が知りたいという話であれば,
OpenCVのチュートリアルにちょうどこれを使う話があるので読んでみてはどうでしょう.


質問内容が

bg_diff_path = './diff.jpg' の処理がよく分からない

という話になりましたが,
直後に imwrite の引数になっているのですから,それは画像保存パス以外の何物でもないであろうと思います.
( "./" は現在位置を表す記述です.よって,カレントディレクトリに"diff.jpg"という名前で保存することになるでしょう.)

投稿2020/12/14 07:23

編集2020/12/14 10:15
fana

総合スコア11985

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gomsis

2020/12/14 07:54

申し訳ありません。参考にさせていただいたサイトの掲載が抜けていました。 よろしくお願いいたします。
fana

2020/12/14 08:23

いや,だから,あなたが背景差分処理の結果を用いて何をしたいのかが分からないので… > bg_diff_path = './diff.jpg' 以下の処理 と言われても,提示コードには imwrite しか書いてないし. 取得した前景を用いて何をしたいのか?という説明も無いのに,「これからどうすればいいか?」と問われても,それは誰にもわからないでしょう.
gomsis

2020/12/14 09:57

あ、申し訳ありません… 質問の文面が間違っていました。 bg_diff_path = './diff.jpg'の処理がよく分からない、という意味です… 申し訳ありません。
fana

2020/12/14 10:17

追記しました.単なる画像保存パスでしょう. (何のために保存するのかは知りませんが,マスクを保存するのにjpgかよ,っていう…)
gomsis

2020/12/14 10:28

やはりそうなんですね。ほかのサイトを調べてみても同じような処理をしていたので気になっていました。 ご丁寧にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問