[問題] 大量圖片批次二值化的方法消失

看板Python作者時間7年前 (2018/07/28 17:51), 7年前編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
手上有一些圖片想要做批次的二值化 打算試著用python寫寫看 想法是因為動態變數可以逐一命名所以就使用這了個方法 但是不知為何一直報錯 程式碼: p=81 for n in range (p): locals()["image%s" %n] = cv2.imread("\\一串絕對路徑\\ (%d).jpg"%(n)) locals()["image_gray%s" %n] = cv2.cvtColor(locals()["image%s" %n],cv2.COLOR_BGR2GRAY) ret,locals()["image_binarization%s" %n] = cv2.threshold(locals()["image_gray%s" %n],125,255,cv2.THRESH_BINARY) cv2.imshow('after',locals()["image_gray%s" %n]) cv2.waitKey(1000) ptt排版好像會跑掉 圖片檔長這樣 https://i.imgur.com/iyfNTur.png
報錯的理由是: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor 不太曉得要怎麼修正這個問題 所以就發上來詢問了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.63.209.164 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1532771479.A.8C4.html ※ 編輯: st40182 (210.63.209.164), 07/28/2018 17:53:21

07/29 00:20, , 1F
我感覺是imread後的channel跟你要轉的顏色對不起來
07/29 00:20, 1F

07/29 00:20, , 2F
建議是在imread的時候直接轉成灰階 然後二值化還要call
07/29 00:20, 2F

07/29 00:20, , 3F
threshold會比較好
07/29 00:20, 3F
謝謝建議 我試試看! ※ 編輯: st40182 (210.63.209.185), 07/29/2018 15:06:41
文章代碼(AID): #1RN3oNZ4 (Python)