- Python科学计算(第2版)
- 张若愚
- 209字
- 2025-03-09 06:39:24
1.3.6 图像处理和计算机视觉
OpenCV是一套开源的跨平台计算机视觉库,可用于开发实时的图像处理、计算机视觉以及模式识别程序。它提供的Python包装模块可调用OpenCV提供的大部分功能。由于它采用NumPy数组表示图像,因此能很方便地与其他扩展库共享图像数据。
在下面的例子中,读入图像moon.jpg,并转换为二值图像。找到二值图像中黑白区域相交的边线,并计算周长和面积。然后通过这两个参数计算π。
import cv2 img = cv2.imread("moon.jpg", cv2.IMREAD_GRAYSCALE) _, bimg = cv2.threshold(img, 50, 255, cv2.THRESH_BINARY) contour, _ = cv2.findContours(bimg, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_TC89_L1) contour = cv2.approxPolyDP(contour[0], epsilon=2, closed=False) area = cv2.contourArea(contour) perimeter = cv2.arcLength(contour, True) perimeter**2 / (4 * area) 3.176088313869952