opencv+python图像二值化处理,为什么运行一直转圈圈。

import cv2

# 读取本相对路径下的initial.bmp文件

image = cv2.imread ("initial.png", 0)

# 将image对应图像在图像窗口显示出来

cv2.imshow('initial',image)

# waitKey使窗口保持静态直到用户按下一个键

cv2.waitKey(0)

image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)

#对图像进行阈值分割,阈值设定为80,得到二值化灰度图,代码为:

# 对图像进行阈值分割,阈值设定为80,得到二值化灰度图

ret,image1 = cv2.threshold(image,80,255,cv2.THRESH_BINARY)

cv2.imshow('grayscale',image1)

cv2.waitKey(0)

本站拷贝的例程,为什么问题多多 

第五行改成 image = cv2.imread ("initial.png"),你写的那个参数0是指将彩色图片读取成灰度图,但是你下面的15行又是将彩色图转成灰度图所以这里会报错。

13行的waitkey删掉,不然你需要关闭前面的窗口才能运行下面的代码。

15行改成 image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY),opencv里面是BGR格式

initial.png这张图片要放在和程序同一个文件下面

两种方法二选一

1. 修改image = cv2.imread ("initial.png", 0)为image = cv2.imread ("initial.png")

2.去掉image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632