[问题] 大量图片批次二值化的方法

楼主: 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