前提・実現したいこと
ある変数に対象となるディレクトリのアドレスが入っているので、
その変数を用いてcv2.imread()で読み込みをしたいです。
###詳細
変数「Image_No_File_madeno_Addres」に
「C:\Users\m1252\Pictures\製造番号\日付2\B\2\seed.jpg」が
入っていて、
それをcv2.imread()で読み込みするための方法を
教えてください。
また、「#もしものとき、戻す用」の行の方を使用すれば
エラーは消えて、問題なく実行されるので、
img = cv2.imread(str(Image_No_File_madeno_Addres))の書式や、
変数の中に問題があるのではないか、と考えています。
###環境
Windows10
Anaconda3(64bit)のjupyter
OpenCVはインストール済み、使用可能。
言語:Python
対象となるフォルダ構成:
C:\Users\m1252\Pictures\製造番号\日付2\B\2\画像.jpg
・製造番号の中には、日付フォルダが複数あります。
・日付フォルダの中には、AやBなどのアルファベットのフォルダが複数あります。
・Aの中には、数字のフォルダが複数あります。
・1の中には、画像ファイルが複数あります。
・「製造番号」などの日本語のフォルダも存在します。
発生している問題・エラーメッセージ
C:\Users\m1252\Pictures\製造番号\日付2\B\2\seed.jpg --------------------------------------------------------------------------- error Traceback (most recent call last) <ipython-input-16-e8224b97523d> in <module> 16 17 # グレースケール変換 ---> 18 gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) 19 20 dst = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY,57,20) error: OpenCV(3.4.2) c:\miniconda3\conda-bld\opencv-suite_1534379934306\work\modules \imgproc\src\color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'cv::CvtHelper<struct cv::Set<3, 4,-1>,struct cv::Set<1,-1,-1>,struct cv::Set<0,2,5>,2>::CvtHelper'
該当のソースコード
import cv2 import numpy as np import matplotlib.pyplot as plt %matplotlib inline # 入力画像を読み込む。Image_No_File_madeno_Addresにアドレスが入っている。 print(Image_No_File_madeno_Addres) img = cv2.imread(str(Image_No_File_madeno_Addres)) #img = cv2.imread("C:\Users\m1252\Pictures\seed.jpg")#もしものとき、戻す用 # グレースケール変換 gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) dst = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY,57,20) # 結果を出力 cv2.imwrite("C:\Users\m1252\Pictures\seed_adaptiveTS2.jpg", dst) plt.imshow(dst) plt.gray() plt.show()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/27 13:55