質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
OpenCV

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

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

1回答

348閲覧

肌色検出についての質問

empelt

総合スコア6

OpenCV

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

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

2クリップ

投稿2018/08/06 04:00

編集2022/01/12 10:55
import cv2 import numpy as np image_path = "pisu5.jpg" src = cv2.imread(image_path) def skin_detect(src): hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV) hsv_min = np.aray([0, 30, 60]) hsv_max = np.array([20, 150, 255]) mask = cv2.inRange(hsv, hsv_min, hsv_max) return mask def mosaic(src, ratio=0.1): small = cv2.resize(src, None, fx=ratio, fy=ratio, interpolation=cv2.INTER_NEAREST) return cv2.resize(small, src.shape[:2][::-1], interpolation=cv2.INTER_NEAREST) def mosaic_area(src, x, y, width, height, ratio=0.02): dst = src.copy() dst[y:y + height , x:x + width] = mosaic(dst[y:y + height, x:x + width], ratio) return dst for ?????? cv2.imwrite("pisu5_detect.jpg", ??????)

コード

画像から肌色を検出して検出域にモザイクをかけるプログラムを作っています。 しかし、モザイクをかけて画像を保存するところがいまいち分からないので教えていただきたいです。 あと、もし不足している文があったらご指摘願いたいです。 よろしくお願いします。 ??????のところがどのように書いたらいいのかわかりません。 ### 該当のソースコード import cv2 import numpy as np image_path = "pisu5.jpg" src = cv2.imread(image_path) def skin_detect(src): hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV) hsv_min = np.aray([0, 30, 60]) hsv_max = np.array([20, 150, 255]) mask = cv2.inRange(hsv, hsv_min, hsv_max) return mask def mosaic(src, ratio=0.1): small = cv2.resize(src, None, fx=ratio, fy=ratio, interpolation=cv2.INTER_NEAREST) return cv2.resize(small, src.shape[:2][::-1], interpolation=cv2.INTER_NEAREST) def mosaic_area(src, x, y, width, height, ratio=0.02): dst = src.copy() dst[y:y + height , x:x + width] = mosaic(dst[y:y + height, x:x + width], ratio) return dst for ?????? cv2.imwrite("pisu5_detect.jpg", ??????) ### 試したこと ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

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

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

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

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

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

tachikoma

2018/08/06 04:28

インデントがきちんと保存されるようにするために、編集画面から<code>ボタンを使ってコードブロックを囲むようにしてください。
empelt

2018/08/07 01:03

修正しました
guest

回答1

0

for文は使わなくてもいいですよね?
ていうか、ここでfor文が出てくる意味がわからなかったんですけど笑

python

1import cv2 2import numpy as np 3 4image_path = "images.jpg" 5src = cv2.imread(image_path) 6 7def skin_detect(src): 8 hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV) 9 10 hsv_min = np.array([0, 30, 60]) 11 hsv_max = np.array([20, 150, 255]) 12 mask = cv2.inRange(hsv, hsv_min, hsv_max) 13 return mask 14 15def mosaic(src, ratio=0.1): 16 small = cv2.resize(src, None, fx=ratio, fy=ratio, interpolation=cv2.INTER_NEAREST) 17 return cv2.resize(small, src.shape[:2][::-1], interpolation=cv2.INTER_NEAREST) 18 19def mosaic_area(src, x, y, width, height, ratio=0.1): 20 dst = src.copy() 21 dst[y:y + height , x:x + width] = mosaic(dst[y:y + height, x:x + width], ratio) 22 return dst 23 24if __name__ == "__main__": 25 mask = skin_detect(src) 26 result1 = mosaic(src) 27 result2 = mosaic_area(src, 100, 100, 200, 200) 28 29 cv2.imwrite("result1.jpg", result1) 30 cv2.imwrite("result2.jpg", result2)

投稿2018/08/09 05:46

Ryupe

総合スコア426

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問