ファイルを実行できません。
画像中の対象の色のところを抽出し、しるしをつけ、最終的にその領域がどれくらい存在しているのか計算して表示するといった内容です。
中身は特にいじっておらず、ファイルの参照の仕方に問題があると考えています。
以下スクリプトの対象となる部分についてです。
#エラーが出るので保存、読み込み cv2.imwrite('C:\\Users\\seiya\\OneDrive\\Desktop\\ all.tif',all) all = cv2.imread("C:\\Users\\seiya\\OneDrive\\Desktop\\ all.tif") #fill holes all = ndimage.binary_fill_holes(all).astype(int) * 255 #エラーが出るため保存、読み込みして改めて二値化 cv2.imwrite('C:\\Users\\seiya\\OneDrive\\Desktop\\ all.tif',all) all = cv2.imread("C:\\Users\\seiya\\OneDrive\\Desktop\\ all.tif") all = cv2.cvtColor(all, cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(all,127,255,cv2.THRESH_BINARY)
#指定されたフォルダ内に新しくフォルダーを作成し、そのフォルダーに処理した画像を格納
def serch(dir):
path_list = glob.glob(dir + '*')
for i in path_list: folder = i file =os.path.basename(i) new_folder = file + '_countver2' name = os.path.join(*[dir, new_folder]) print(i) os.makedirs(name) triming(folder,name) bundel_count(name) return
#フォルダの指定
#指定フォルダ-フォルダ-画像 の形
serch("C:\Users\seiya\Desktop\9gat\mae")
どういう引数でPythonを走らせたら何行目でどんなエラーが出たか、可能な限りコピペできますか?※パスにユーザー名が含まれる時には適当に伏せてもらってOKです
エラーがでるのではなく、何も起きないという状況になっています、、、
「def serch(dir):」の先頭を
path_list = glob.glob(dir + '*')
↓ 変更
print(dir)
print("test1")
path_list = glob.glob(dir + '*')
print("test2")
print(path_list)
と変更して実行したら、何て表示されますでしょうか?
最後の「print(path_list)」の表示は、ちゃんとされますでしょうか?
> cv2.imwrite('C:\\Users\\seiya\\OneDrive\\Desktop\\ all.tif',all)
以前はonedriveではない場所を指定してた、ということはありませんか?
コード中の全てのパス指定をonedriveではない場所に変えたら、どうなりますでしょうか?
(画像ファイルの置き場所も、コードの変更に合わせて当然変える)
あと、
> cv2.imwrite('C:\\Users\\seiya\\OneDrive\\Desktop\\ all.tif',all)
とか数ヶ所の「Desktop\\」と「all.tif」の間にスペースがありますが、そのスペースを全部削除してみてください
あなたの回答
tips
プレビュー