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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

OpenCV

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

Python

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

Q&A

解決済

1回答

700閲覧

[OpenCV][Jupyter notebook] mask適用時にAssertion failedする

mashiro_dm

総合スコア10

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

OpenCV

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

Python

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

0グッド

0クリップ

投稿2020/03/29 09:19

編集2020/04/02 12:10

OpenCVのチュートリアルをやっています。
たまにアサーションエラーなるものが出てしまい、原因がわからず困っています。

以下の記事がほぼほぼ答えなのだろうとは思っているのですが、下記のプログラムをjupyter notebookで実行すると特定のセルではエラーが出たり、違うセルではエラーが出なかったりで、一貫性がないというか、原因の切り分けができません。
OpenCVのチャンネルエラー対処

おそらく初歩的な質問となるのだろうとは思いますが、お分かりになる方がいらっしゃったらご教示いただけると幸いです。よろしくお願いいたします。

python

1import cv2 2import numpy as np 3# 画像の読み込み 4img1 = cv2.imread('./cat.png') 5img2 = cv2.imread('./opencv-logo-white.png') 6 7# ROIの作成 8rows,cols,channels = img2.shape 9roi = img1[0:rows, 0:cols ] 10 11# RGBからグレースケールに変換 12img2gray = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY) 13ret, mask = cv2.threshold(img2gray, 10, 255, cv2.THRESH_BINARY) 14mask_inv = cv2.bitwise_not(mask) 15 16# maskを使用して画像を統合 17img1_bg = cv2.bitwise_and(roi,roi,mask = mask_inv) #エラーが出るのはここです 18img2_fg = cv2.bitwise_and(img2,img2,mask = mask) 19 20# img1に貼り付け 21dst = cv2.add(img1_bg,img2_fg) 22img1[0:rows, 0:cols ] = dst 23 24cv2.imshow("img_gry", img_gry) 25cv2.imshow("mask", mask) 26cv2.imshow("mask2", mask_inv) 27cv2.imshow("img1_bg", img1_bg) 28cv2.imshow("img2_fg", img2_fg) 29cv2.imshow("dst", dst) 30cv2.imshow('res',img1) 31cv2.waitKey(0) 32cv2.destroyAllWindows()

エラーコード

--------------------------------------------------------------------------- error Traceback (most recent call last) <ipython-input-1-e5eafd79380c> in <module>() 15 16 # maskを使用して二つの画像を統合 ---> 17 img1_bg = cv2.bitwise_and(roi,roi,mask = mask_inv) 18 img2_fg = cv2.bitwise_and(img2,img2,mask = mask) 19 error: OpenCV(3.4.2) C:\Miniconda3\conda-bld\opencv-suite_1534379934306\work\modules\core\src\arithm.cpp:241: error: (-215:Assertion failed) (mtype == 0 || mtype == 1) && _mask.sameSize(*psrc1) in function 'cv::binary_op'

読み込み画像

python

1print(img1.shape, img1.size, img1.dtype) #(900, 1600, 3) 4320000 uint8 2print(img2.shape, img2.size, img2.dtype) #(222, 180, 3) 119880 uint8

img
img2

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

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

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

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

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

guest

回答1

0

ベストアンサー

手元で適当な画像で実行してみましたが発生しませんね。
実際に問題が発生する画像をアップロードしてください。

投稿2020/03/30 02:31

yuki23

総合スコア1448

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

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

mashiro_dm

2020/04/02 12:13

回答ありがとうございます。 反応遅くなり申し訳ありません。 画像をアップロードしましたが、私の環境でもエラーが発生しなくなっていたので、一時的にうまくいってなかっただけの可能性が高いと思い、解決とさせていただきました。 (アップロードの際に気づいたのですが、catの画像は拡張子を間違えて読み込んでいるので、これが影響があったのでしょうか? 修正せずともエラーは発生しなくなったのですが…)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問