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

作者: st40182 (天羽)   2018-07-28 17:51:15
手上有一些圖片想要做批次的二值化
打算試著用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
不太曉得要怎麼修正這個問題
所以就發上來詢問了
謝謝
作者: TitanEric (泰坦)   2018-07-29 00:20:00
我感覺是imread後的channel跟你要轉的顏色對不起來建議是在imread的時候直接轉成灰階 然後二值化還要callthreshold會比較好

Links booklink

Contact Us: admin [ a t ] ucptt.com