吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1216|回复: 5
收起左侧

[学习记录] 小案例:利用python估算最外轮廓区域面积

[复制链接]
zhzhx 发表于 2022-11-14 11:34
一、需求:给出一张图片,估算最外轮廓区域面积
11.png

二、步骤:1、读取图片信息2、利用open-cv,自适应分割图片3、提取最外轮廓像素值4、利用像素值标记轮廓5、计算轮廓面积 22.png 三、代码:
[Python] 纯文本查看 复制代码
import cv2
 
# 读取图片信息
img_path = r"D:\Desktop\img\out1.png"
 
# 读取文件
mat_img = cv2.imread(img_path)
mat_img2 = cv2.imread(img_path, cv2.CV_8UC1)
 
# 自适应分割
dst = cv2.adaptiveThreshold(mat_img2, 210, cv2.BORDER_REPLICATE, cv2.THRESH_BINARY_INV, 3, 10)
# 提取轮廓
contours, heridency = cv2.findContours(dst, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
 
# 标记轮廓
cv2.drawContours(mat_img, contours, -1, (255, 0, 255), 3)
 
x_list = []
y_list = []
for c in contours:
    for i in c:
        x_list.append(i[0][0])
        y_list.append(i[0][1])
 
print(min(x_list), max(x_list))
print(min(y_list), max(y_list))
 
# 计算轮廓面积
area = 0
for i in contours:
    area += cv2.contourArea(i)
print(area)
 
# 图像show
cv2.imshow("window1", mat_img)
cv2.waitKey(0)

四、结果:

33.png

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
f2arayner + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

vethenc 发表于 2022-11-14 12:47
感谢分享,看上去挺有意思
kemuxin 发表于 2022-11-14 13:04
veryzhou 发表于 2022-11-14 13:16
类似于我们的一款卫星测地  面积算法   后来被不再用在测地领域了   不知道为啥
duwanjiang 发表于 2022-11-14 13:34
感觉挺有意思的,学习学习
Yiii952 发表于 2022-11-14 14:01
有点意思,学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 05:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表