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

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

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

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

Python

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

Q&A

解決済

1回答

1718閲覧

Python OpenCVで画像を検索して判定結果をだす方法

bondo_777

総合スコア2

OpenCV

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

Python

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

0グッド

0クリップ

投稿2020/07/15 03:08

import cv2 im = cv2.imread('lena.png') # lena im1 = cv2.imread('lena.png') im2 = cv2.imread('who.png') print(np.array_equal(im, im1)) # She is lena print(np.array_equal(im, im2)) # She ain't lena!!... what?!

lena.png
イメージ説明

who.png(lenaの切り抜き)
一部の画像

このプログラムだと完全に一致している場合しかTrueになりません
whoの画像をTrueにするにはどうすればいいでしょうか
よろしくお願いします

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

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

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

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

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

tetsunosuke

2020/07/15 03:47

ndarrayの大きさがそもそも違うから、ということで、 ndarrayがもう片方に含まれるかどうかを検索する、という手もあると思いますが、 この手の方法は通常は cv2. matchTemplateで行うような気がします。その方法ではダメでしょうか? 参考:https://qiita.com/anzanshi/items/82fc4c7a3a1f84137aef
guest

回答1

0

ベストアンサー

cv2.matchTemplateでできそうです。
詳細は以下を参照ください。
OpenCVで画像部分一致を検索したい人生だった
OpenCVを使ったテンプレートマッチング
cv::matchTemplate

Python

1import cv2 2import numpy as np 3 4img = cv2.imread("lena.png") 5tpl = cv2.imread("who.png") 6 7h, w = tpl.shape[1], tpl.shape[0] 8 9res = cv2.matchTemplate(img, tpl, cv2.TM_CCORR_NORMED) 10loc = np.where(res >= 0.99) # 閾値で絞る 11 12if len(loc[0]) > 0: 13 print('She is lena') 14 pt = (loc[1][0], loc[0][0]) 15 cv2.rectangle(img, pt, (pt[0]+w,pt[1]+h), (255,0,0), 2) 16 cv2.imwrite("res.png", img) 17else: 18 print("She ain't lena!!...what!?")

投稿2020/07/15 04:47

can110

総合スコア38278

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問