使用Python+opencv+k-means根据扫描图片计算叶片面积-续
一 、概述
之前写了一篇计算叶片面积的文章,后来想想其实没有那么复杂,直接二值化计算即可得到,原来的代码写了几十行,其实十余行就可以计算得到叶片面积了。
原文:使用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根据扫描图片计算叶片面积-续相关推荐
- Python OpenCV:利用滚动条移动图片,利用鼠标缩放图片
Python OpenCV:利用滚动条移动图片,利用鼠标缩放图片 一.实现目标 二.实现背景 三.实现方法 四.运行环境 五.运行代码 六.运行结果 七.不足 八.参考 一.实现目标 在OpenC ...
- Python + opencv对拍照得到的图片进行背景去除的实现方法
这篇文章主要介绍了Python + opencv对拍照得到的图片进行背景去除的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 有时候我们 ...
- 【图像处理】——Python+opencv实现提取图像的几何特征(面积、周长、细长度、区间占空比、重心、不变矩等)
转载请注明详细地址 本文简单介绍了图像常见几何特征的概念以及求解方法 本文介绍了Python和opencv求解几何特征的常用方法 目录 其他形状外接轮廓的方法可以参考:<OpenCV-Pytho ...
- python opencv如何读取透明png图片以及如何编辑透明度
python OpenCV中 cv2.imread(img_path)默认会读取BGR图像,即3通道图像,读出的图像尺寸为h,w,c.cv2.resize(img, (w,h)),resize中的尺寸 ...
- python opencv PIL 视频分割成图片 图片合成为视频 修改图片大小(抗锯齿)
Python代码将原有的视频分割成图片,我的例子是一帧一帧的分割 用python+opencv完成视频的分割 import cv2 #导入opencv模块 print(2) #测试是否运行 vc=cv ...
- python OpenCV:绘制一个圆形图片
在opencv中提供了函数供人们进行制图 圆形是一个常见的图形,在OpenCV中提供了cv2.circle函数 格式为: cv2.circle(img,center,radius,color[,thi ...
- python 聚类分析 k means
Kmeans 是一种动态聚类方法,其基本思想是:首先随机选取 K 个点作为初始凝聚点,按照距离最近原则划分为 K 类:然后重新计算 K 个类的重心作为新的凝聚点,再按照距离最近原则重新分类:重复这一过 ...
- python图片识别-Python+Opencv识别两张相似图片
在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...
- Python+Opencv识别两张相似图片
在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...
最新文章
- 傅里叶描述子欧氏距离_机器学习中的各种距离
- Ubuntu 16.04 命令行 关机 or 重启
- Android的Fragment中onActivityResult不被调用
- JavaBean中的属性
- 腾讯官方游戏《陆战之王 3D坦克大战》
- android 启动优化方案,Android 项目优化(五):应用启动优化
- 为什么学前端不先学框架?
- 【VMCloud云平台】SCSM(十)服务请求到资源落地
- php中如何写js代码提示_PHP 实现类似js中alert() 提示框
- endnote x7不在word中显示
- 新浪动作挺快,开始再博客投广告了
- HTML中的元素分类
- 抖音文字时钟壁纸html,网红文字时钟怎么弄 抖音网红文字时钟主题壁纸设置教程...
- 二手车预测:task2:数据分布
- UUI Make StartUp Disk
- 分类常用的神经网络模型,典型神经网络模型包括
- 基于SpringBoot + Vue的个人博客系统07——文章列表和文章详情
- Python 求解e^(-x)/x函数在区间[0.01, ∞]上的定积分
- 思维导图帮助记忆,个人评估和辅助决策
- ScriptManager 内部js事件失效问题
热门文章
- 游戏设计与开发_独立游戏开发:怎样设计游戏新手教学?
- 刷magisk模块后不能开机_安装Magisk模块导致手机无法正常开机,最简单的修复办法...
- Python 使用photoshop-python-API执行一个photoshop里面的动作
- beego 最新版本_优麒麟20.10版本发布--简而美,华而实
- html picture属性,html5图片 srcset、sizes 属性和 picture 元素
- python不能输入中文字_Python脚本中无法输入中文解决办法
- 预估报录比超过10,华南师范大学计算机考研报考人数公布
- oracle redo log恢复,REDO LOG 丢失恢复方法小结
- Number、Number()和new Number()
- 【转载】AT32 RT-Thread使用指南