关于opencv做图片二值化处理的问题

运用opencv做图片识别,进行分割图片,需要对图片进行二值化处理,代码如下:

import cv2
import numpy as np

if __name__ == "__main__":
    image = cv2.imread("2.png",1)
    gray=cv2.cvtColor(image, cv2.COLOR_BAYER_BG2GRAY)
    binary=cv2.adaptiveThreshold(~gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,35,-5)
    cv2.imshow("show image", binary)
    cv2.waitKey(0)

出现的错误如下:

Traceback (most recent call last):
  File "D:/python/Projects/test2/test.py", line 6, in <module>
    gray=cv2.cvtColor(image, cv2.COLOR_BAYER_BG2GRAY)
cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgproc\src\demosaicing.cpp:1699: error: (-215:Assertion failed) scn == 1 && dcn == 1 in function 'cv::demosaicing'

这是因为做二值化处理时,需要将图片上的像素点的灰度值调成0或255,很多人容易忽视或者粗心出现这个错误
修改后如下:

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

运行成功,结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值