对于

Python中的一个小实验我正在做我想要找到水果的小划痕.划痕非常小,很难被人眼检测到.

我正在使用高分辨率相机进行该实验.

这是我想要检测的缺陷:

原始图片:

这是我的结果,只有很少的代码行:

所以我找到了水果的轮廓.我怎样才能找到划痕? RGB值与水果的其他部分类似.那么如何区分划痕和水果的一部分呢?

我的代码:

# Imports

import numpy as np

import cv2

import time

# Read Image & Convert

img = cv2.imread('IMG_0441.jpg')

result = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# Filtering

lower = np.array([1,60,50])

upper = np.array([255,255,255])

result = cv2.inRange(result, lower, upper)

kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(9,9))

result = cv2.dilate(result,kernel)

# Contours

im2, contours, hierarchy = cv2.findContours(result.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

result = cv2.cvtColor(result, cv2.COLOR_GRAY2BGR)

if len(contours) != 0:

for (i, c) in enumerate(contours):

area = cv2.contourArea(c)

if area > 100000:

print(area)

cv2.drawContours(img, c, -1, (255,255,0), 12)

x,y,w,h = cv2.boundingRect(c)

cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),12)

# Stack results

result = np.vstack((result, img))

resultOrig = result.copy()

# Save image to file before resizing

cv2.imwrite(str(time.time())+'_0_result.jpg',resultOrig)

# Resize

max_dimension = float(max(result.shape))

scale = 900/max_dimension

result = cv2.resize(result, None, fx=scale, fy=scale)

# Show results

cv2.imshow('res',result)

cv2.waitKey(0)

cv2.destroyAllWindows()

python表面瑕疵检测_python – OpenCV检测水果上的划痕相关推荐

  1. python下采样_python + opencv 如何在上采样下采样之后导出图片?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import cv2 def pyramid_demo(image): level = 3 temp = image.copy() pyramid_ima ...

  2. python数据挖掘视频_python+opencv实时视频目标检测

    python+opencv实时视频目标检测 opencv环境 1.访问Python Extension Packages for Windows,下载python对应版本的opencv. 比如小编下载 ...

  3. python人头识别_python+opencv实现人头检测

    python+opencv实现人头检测 python+opencv实现人头检测 前段时间琢磨了下人头检测这个功能,现在有了初步的认知和体会,下面开始讲下我在实现人头检测过程中遇到的坑和解决方法. 环境 ...

  4. python图像缺陷检测_python OpenCV 实现缺陷检测

    机器视觉第七次实验 一.实验目的 通过OpenCV第七次进行实验,对图片进行缺陷检测. 二.实验内容 对图片进行缺陷测量. 三.实验过程 我使用的是python语言+openCV对图片进行缺陷检测的功 ...

  5. python二维码识别读取_python+opencv检测图片中二维码

    缘起 需要检测发票中二维码的位置,以确定图像该怎么旋转,同时也可以为提取二维码信息创造先觉条件!(万恶的需求!) 失败的尝试--opencv训练大法 不感兴趣的可跳过不看! 解释:原文作者是训练检测舌 ...

  6. python 图像变化检测_Python OpenCV 霍夫(Hough Transform)直线变换检测原理,图像处理第 33 篇博客...

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 33 篇. 基础知识铺垫 霍夫变换(Hough Transform)是图像处理领域中,从图像中识别几 ...

  7. python图片目标检测_python+opencv实现目标检测中图片怎么插入

    匿名用户 1级 2018-04-17 回答 考虑的是"背景帧"与其它帧之间的差异 这种方法检测结果还是挺不错的,但是需要提前设置背景帧,如果是在室外,光线的变化就会引起误检测,还是 ...

  8. python图像检测_Python+Opencv识别两张相似图片

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

  9. python检测特定颜色的形状_python opencv 检测特定颜色

    import cv2 import numpy as np cap = cv2.VideoCapture(0) # set blue thresh 设置HSV中蓝色.天蓝色范围 lower_blue ...

最新文章

  1. leetcode--无重复字符的最长子串--python
  2. 使用BigQuery ML预测天气(6.19)
  3. 7个极具杀伤性的Linux命令
  4. 一个SpringMVC接口能返回JSON又能返回XML? 安排!
  5. 在sql server2000的查询分析器里查询oracle的数据
  6. 106. 从中序与后序遍历序列构造二叉树
  7. java 布隆过滤器_牛逼哄哄的布隆过滤器,到底有什么用?
  8. DataGridView 编程
  9. 获取linux服务器基本信息命令行,centos 查看服务器运行的服务和基本信息
  10. debian linux vnc,Debian 如何配置安装Xfce桌面+VNC远程桌面服务
  11. 摘抄一篇:图的存储结构
  12. PHP中数据类型转换有多少种,PHP中数据类型转换的三种方式
  13. 第41天:匀速、缓动运动和图片无缝滚动
  14. 【图像去噪】基于matlab小波变换+Contourlet变换+PCA图像去噪【含Matlab源码 610期】
  15. 《C语言》2022山西专升本C语言知识点
  16. 用Java实现圆锥的体积公式_圆锥的体积公式及其推导
  17. 搭建以图搜图检索系统
  18. kubuntu18.04安装搜狗输入法
  19. vue打包篇-分析包数据再进行CDN配置图片文件压缩等优化
  20. 项目管理工具project软件学习(二) - 自定义日历【标准+节假日】

热门文章

  1. 华东交通大学计算机全国排名,2018年华东交通大学世界排名、中国排名、专业排名...
  2. 基于Android的外卖App系统设计
  3. 移动式布局(流式布局)
  4. Sim 卡运营商获取
  5. JFinal Interceptor
  6. Android:仿手机QQ好友动态的ListView
  7. Ubuntu16.04 使用apt-get命令安装Mesos
  8. 【Vue】小黑记事本
  9. CDAC单位电容取值
  10. 智能手机_如果您的智能手机很热怎么办