opencv(py) threshold bitwise_not 二值化与按位非

194 阅读1分钟
  •        Python : 3.8.11
  • opencv-python : 4.1.2.30
  • opencv-contrib-python : 4.1.2.30
  •          OS : Ubuntu Kylin 20.04
  •       Conda : 4.10.1
  •     Pycharm : 2021.1.3

代码示例

import cv2

# 彩色图
image = cv2.imread("opencv-image.png")
print(image.shape)

# 灰度图
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
print(image_gray.shape)

# 二值化时用灰度图
retval, dst = cv2.threshold(image_gray, 175, 255, cv2.THRESH_BINARY)
print(dst.shape)
print(dst)

# 0为黑色
# 255为白色
dst_not = cv2.bitwise_not(dst)
print(dst_not.shape)
print(dst_not)

cv2.imshow("image", image)
cv2.waitKey(2000)

cv2.imshow("dst", dst)
cv2.waitKey(2000)

cv2.imshow("dst_not", dst_not)
cv2.waitKey(2000)

cv2.destroyAllWindows()

运行结果

cv-threshold-bitnot-1.png

cv-threshold-bitnot-2.png

cv-threshold-bitnot-3.png

/home/coder/anaconda3/bin/python3.8 /home/coder/PycharmProjects/pythonProject2/main.py
(454, 370, 3)
(454, 370)
(454, 370)
[[255 255 255 ... 255 255 255]
 [255 255 255 ... 255 255 255]
 [255 255 255 ... 255 255 255]
 ...
 [255 255 255 ... 255 255 255]
 [255 255 255 ... 255 255 255]
 [255 255 255 ... 255 255 255]]
(454, 370)
[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]]

Process finished with exit code 0

学习推荐


Python具有开源、跨平台、解释型、交互式等特性,值得学习。
Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。
代码的书写要遵守规范,这样有助于沟通和理解。
每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。