一 、概述

之前写了一篇计算叶片面积的文章,后来想想其实没有那么复杂,直接二值化计算即可得到,原来的代码写了几十行,其实十余行就可以计算得到叶片面积了。

原文:使用Python+opencv+k-means根据扫描图片计算叶片面积

使用相同的叶片图片进行计算,图片如下:

二、简洁代码

代码如下:

import cv2img0 = cv2.imread(r'02.jpg', flags=1)
img0 = img0[1:, 1:, 0] #获取B通道图片,B通道更能区别叶片色彩;且将不必要部分截除,便于处理。
cv2.imshow("imagin0", img0)
cv2.waitKey()
cv2.destroyWindow("imagin0")
r, c = img0.shape
print(r,c)
leaves,background=0,0  #leaves为叶片像素 background为背景像素
for i in range(r):for j in range(c):if img0[i][j]>180:background+=1else:leaves+=1
a = leaves * 21.0*29.7 / (background+leaves) #原图实际大小为A4大小的情况下
print(leaves, background, a)
#计算结果  7013 4961        15886657 18904836 284.7968602813337

三、结果比较

原代码结果是:34791493 15551356 278.7859876320915 计算结果

两个结果分别是284.7968602813337和278.7859876320915 相差2.0% ,比较接近了。

四、存在问题

本文代码阈值设置问题需要提前预判测定,需要认为干预,比如我通过ps软件看了一下叶片和背景值的像素值判断的一个值,即文中的180,可能不具有普适性,需要根据数据的质量确定适用性了。如果用做批处理许多不同的照片,结果可能就会出现一些不确定性了。

使用Python+opencv+k-means根据扫描图片计算叶片面积-续相关推荐

  1. Python OpenCV:利用滚动条移动图片,利用鼠标缩放图片

    Python OpenCV:利用滚动条移动图片,利用鼠标缩放图片 一.实现目标 二.实现背景 三.实现方法 四.运行环境 五.运行代码 六.运行结果 七.不足 八.参考 一.实现目标   在OpenC ...

  2. Python + opencv对拍照得到的图片进行背景去除的实现方法

    这篇文章主要介绍了Python + opencv对拍照得到的图片进行背景去除的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 有时候我们 ...

  3. 【图像处理】——Python+opencv实现提取图像的几何特征(面积、周长、细长度、区间占空比、重心、不变矩等)

    转载请注明详细地址 本文简单介绍了图像常见几何特征的概念以及求解方法 本文介绍了Python和opencv求解几何特征的常用方法 目录 其他形状外接轮廓的方法可以参考:<OpenCV-Pytho ...

  4. python opencv如何读取透明png图片以及如何编辑透明度

    python OpenCV中 cv2.imread(img_path)默认会读取BGR图像,即3通道图像,读出的图像尺寸为h,w,c.cv2.resize(img, (w,h)),resize中的尺寸 ...

  5. python opencv PIL 视频分割成图片 图片合成为视频 修改图片大小(抗锯齿)

    Python代码将原有的视频分割成图片,我的例子是一帧一帧的分割 用python+opencv完成视频的分割 import cv2 #导入opencv模块 print(2) #测试是否运行 vc=cv ...

  6. python OpenCV:绘制一个圆形图片

    在opencv中提供了函数供人们进行制图 圆形是一个常见的图形,在OpenCV中提供了cv2.circle函数 格式为: cv2.circle(img,center,radius,color[,thi ...

  7. python 聚类分析 k means

    Kmeans 是一种动态聚类方法,其基本思想是:首先随机选取 K 个点作为初始凝聚点,按照距离最近原则划分为 K 类:然后重新计算 K 个类的重心作为新的凝聚点,再按照距离最近原则重新分类:重复这一过 ...

  8. python图片识别-Python+Opencv识别两张相似图片

    在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...

  9. Python+Opencv识别两张相似图片

    在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...

最新文章

  1. 傅里叶描述子欧氏距离_机器学习中的各种距离
  2. Ubuntu 16.04 命令行 关机 or 重启
  3. Android的Fragment中onActivityResult不被调用
  4. JavaBean中的属性
  5. 腾讯官方游戏《陆战之王 3D坦克大战》
  6. android 启动优化方案,Android 项目优化(五):应用启动优化
  7. 为什么学前端不先学框架?
  8. 【VMCloud云平台】SCSM(十)服务请求到资源落地
  9. php中如何写js代码提示_PHP 实现类似js中alert() 提示框
  10. endnote x7不在word中显示
  11. 新浪动作挺快,开始再博客投广告了
  12. HTML中的元素分类
  13. 抖音文字时钟壁纸html,网红文字时钟怎么弄 抖音网红文字时钟主题壁纸设置教程...
  14. 二手车预测:task2:数据分布
  15. UUI Make StartUp Disk
  16. 分类常用的神经网络模型,典型神经网络模型包括
  17. 基于SpringBoot + Vue的个人博客系统07——文章列表和文章详情
  18. Python 求解e^(-x)/x函数在区间[0.01, ∞]上的定积分
  19. 思维导图帮助记忆,个人评估和辅助决策
  20. ScriptManager 内部js事件失效问题

热门文章

  1. 游戏设计与开发_独立游戏开发:怎样设计游戏新手教学?
  2. 刷magisk模块后不能开机_安装Magisk模块导致手机无法正常开机,最简单的修复办法...
  3. Python 使用photoshop-python-API执行一个photoshop里面的动作
  4. beego 最新版本_优麒麟20.10版本发布--简而美,华而实
  5. html picture属性,html5图片 srcset、sizes 属性和 picture 元素
  6. python不能输入中文字_Python脚本中无法输入中文解决办法
  7. 预估报录比超过10,华南师范大学计算机考研报考人数公布
  8. oracle redo log恢复,REDO LOG 丢失恢复方法小结
  9. Number、Number()和new Number()
  10. 【转载】AT32 RT-Thread使用指南