没有合适的资源?快使用搜索试试~ 我知道了~
opencv-python实现数米粒实验
14 下载量 181 浏览量
2020-12-21
17:03:54
上传
评论 3
收藏 592KB PDF 举报
温馨提示
试读
3页
实验目的 1,通过阈值分割将原图像转变为二值图像 2,找出米粒的连通域,数出米粒的数目 3,找出米粒中最大的面积和周长是多少,并给出在图片的位置 实验过程 openCV提供了非常好用的简单全局阈值分割的函数 cv2.threshold(src, thresh, maxval, type, dst=None) 关于threshold函数详解 对原始灰度图像进行灰度直方图分析,可以明显看出灰度值分布区间较大,并且有三座峰(这里暂时不考虑多阈值分割问题),因此难以通过单一阈值进行有效分割,所以应使用 OTSU 或者 TRIANGLE 的优化方法。 但是如果直接对图像进行二值化处理,得到的效果可能
资源推荐
资源详情
资源评论
opencv-python实现数米粒实验实现数米粒实验
实验目的实验目的
1,通过阈值分割将原图像转变为二值图像通过阈值分割将原图像转变为二值图像
2,找出米粒的连通域,数出米粒的数目找出米粒的连通域,数出米粒的数目
3,找出米粒中最大的面积和周长是多少,并给出在图片的位置找出米粒中最大的面积和周长是多少,并给出在图片的位置
实验过程实验过程
openCV提供了非常好用的简单全局阈值分割的函数
cv2.threshold(src, thresh, maxval, type, dst=None)
关于threshold函数详解
对原始灰度图像进行灰度直方图分析,可以明显看出灰度值分布区间较大,并且有三座峰(这里暂时不考虑多阈值分割问题),因此难以通过单一阈值进行有效分割,所以应使用
OTSU 或者 TRIANGLE 的优化方法。
但是如果直接对图像进行二值化处理,得到的效果可能不尽人意(Tips:在二值化之前需要转化为灰度图像,因要使用 OTSU 或者 THRESH 进行算法优化,两种优化策略详情见方法链
接。而且该实验场景下灰度图像会大大简化实验操作)。
import cv2 as cv
#原始图像
img = cv.imread("rice.png")
#色彩空间转换
gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
ret, otsu = cv.threshold(gray_img, 0, 255,
cv.THRESH_BINARY | cv.THRESH_OTSU)
ret2, triangle = cv.threshold(gray_img, 0, 255,
cv.THRESH_BINARY | cv.THRESH_TRIANGLE)
cv.imshow("otsu", otsu)
cv.imshow("triangle", triangle)
cv.waitKey(0)
受到噪点影响,对后续处理工作将带来极大的不便利,因此首要目标是去除背景噪点。常见的去除噪点的方式有各种滤波器,本次实验中我尝试利用了中值滤波和高斯滤波,虽然能
有效去除背景噪点,但是不可避免的会对整个米粒形态造成一定的影响,因此在这里我介绍另外一种方法,通过使用形态学的开操作对图像进行预处理。(关于图像处理中的形态学操
作原理有兴趣的可以去查阅 冈萨雷斯版本的数字图像处理冈萨雷斯版本的数字图像处理 )。
形态学操作其实就是改变物体的形状,比如腐蚀就是”变瘦”,膨胀就是”变胖”
在实验中我将使用开操作(先对图像进行腐蚀再对图像进行膨胀)通过这种方式来获取到理想的图像。
kernels = np.ones((5, 5), np.uint8)
# 腐蚀
img_erode = cv.erode(img, kernels, iterations=5)
cv.imshow("erode_image",img_erode)
# 膨胀
img_dilation = cv.dilate(img_erode, kernels, iterations=5)
cv.imshow("dilation_image", img_dilation)
资源评论
weixin_38564990
- 粉丝: 5
- 资源: 927
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- foldcraftlauncher_262944.apk
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
- 手机端 我的世界融合植物大战僵尸版.apk
- 植物大战僵尸 · 戴夫的老年生活 手机版.apk
- Runcraft · 我的世界跑酷游戏 手机端.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功