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(contours0)

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()

相关推荐
WPF工业上位机2 小时前
YXGK.FakeVM深度学习之5语义分割
人工智能·深度学习
落叶无情2 小时前
ICEF认知操作系统:四类约束全维度全覆盖,是全谱系系统化约束体系
人工智能
碳基硅坊2 小时前
Gemma 4 12B 让AI创作更私密更高效
人工智能·gemma-4-12b
weixin_468466852 小时前
大模型新手入门与实战指南
人工智能·深度学习·ai·大模型
装不满的克莱因瓶2 小时前
掌握 RNN 与 LSTM 模型结构
人工智能·python·rnn·深度学习·神经网络·ai·lstm
jeffer_liu2 小时前
Spring AI 生产级实战:裁判员
java·人工智能·后端·spring·大模型
weixin_446260853 小时前
Agent 会自行回避吗?测量 LLM 智能体合规性的带内访问拒绝信号
人工智能
Kobebryant-Manba3 小时前
记录动手学深度学习基础知识
人工智能·深度学习
syso_稻草人3 小时前
OpenSpec、Spec-Driven Development 与 CreateNow:AI 编码为什么开始从 Prompt 走向 Spec
人工智能·prompt