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

相关推荐
EasyCVR24 分钟前
从汇聚到智能:解析视频融合平台EasyCVR视频智能分析技术背后的关键技术
大数据·人工智能
m0_6501082426 分钟前
【论文精读】GenTron:基于 Transformer 的扩散模型革新图像与视频生成
人工智能·论文精读·transformer扩散模型·文生图(t2i)·文生视频(t2v)
文火冰糖的硅基工坊37 分钟前
[人工智能-大模型-66]:模型层技术 - 两种编程范式:数学函数式编程与逻辑推理式编程,构建起截然不同的智能系统。
人工智能·神经网络·算法·1024程序员节
创思通信1 小时前
树莓派的YOLO智能AI识别系统,识别ESP32还是STM32
人工智能·stm32·yolo
funfan05171 小时前
【开发AI】Windows安装和使用Milvus的保姆级教程
人工智能·windows·milvus
Fuly10241 小时前
使用docker安装向量数据库milvus
人工智能
darkfive1 小时前
构建大模型安全自动化测试框架:从手工POC到AI对抗AI的递归Fuzz实践
人工智能·安全·ai·自动化
一点一木1 小时前
火山方舟 Responses API 实战指南:从概念到「公司尽调 Dossier 生成器」
前端·人工智能·api
dingzd952 小时前
全平台内容排期与矩阵玩法
人工智能·线性代数·矩阵·web3·facebook·tiktok·instagram
新手村领路人2 小时前
python opencv gpu加速 cmake msvc cuda编译问题和设置
开发语言·python·opencv