opencv findContours查找图像边缘基本操作

1、cvtColor灰度图打开图像

2、threshold二值化图像

3、查找轮廓

4、根据面积画出轮廓

5、注意大于等于两个返回值的函数的输出

import cv2

import numpy as np

加载图像并转为灰度图

image = cv2.imread('1.jpg')

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

二值化处理

_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)

查找轮廓

contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

for i,contour in enumerate(contours):

cnt_area = cv2.contourArea(contour)

print(cnt_area)

if cnt_area>200:

cv2.drawContours(image, contours, i, (0, 0, 255), 3) # 用红色线条绘制第一个轮廓

# 绘制第一个轮廓

cv2.drawContours(image, contours, 0, (0, 0, 255), 3) # 用红色线条绘制第一个轮廓

#计算第一个轮廓面积

cnt_area = cv2.contourArea(contours[0])

print(cnt_area)

cv2.imshow('erzhihua', thresh)

cv2.imwrite("erzhihua.jpg",thresh)

cv2.imshow('Contours', image)

cv2.imwrite("Contours.jpg",image)

cv2.waitKey(0)

cv2.destroyAllWindows()

相关推荐
飞哥数智坊1 小时前
openclaw 重大更新,真的懂我啊
人工智能
KaneLogger1 小时前
AI 时代编程范式迁移的思考
人工智能·程序员·代码规范
飞哥数智坊1 小时前
养虾记第2期:从“人工智障”到“赛博分身”,你的龙虾还缺这两个灵魂
人工智能
飞哥数智坊1 小时前
龙虾虽香,小心扎手!官方点名后,我们该怎么“养虾”?
人工智能
yiyu07162 小时前
3分钟搞懂深度学习AI:实操篇:卷积层
人工智能·深度学习
字节架构前端3 小时前
Skill再回首—深度解读Anthropic官方最新Skill白皮书
人工智能·agent·ai编程
冬奇Lab4 小时前
OpenClaw 深度解析(八):Skill 系统——让 LLM 按需学习工作流
人工智能·开源·源码阅读
冬奇Lab4 小时前
一天一个开源项目(第45篇):OpenAI Agents SDK Python - 轻量级多 Agent 工作流框架,支持 100+ LLM 与实时语音
人工智能·开源·openai
小兵张健4 小时前
两个配置让 Codex 效率翻倍
人工智能·程序员·github copilot