
机器视觉
键盘歌唱家
是金子总会发光
展开
-
OPENCV(七)对啤酒盖进行缺陷检测
缺陷检测随着自动化技术的快速发展,在工业生产中很多需要人工操作的环节逐渐转由机器完成,工业生产自动化也将越来越多的工人们从枯燥乏味的工作中解放出来,让他们去发挥更大的价值。产品表面缺陷检测是工业生产中的重要环节,是产品质量把控的关键步骤,借助缺陷检测技术可以有效的提高生产质量和效率。但是由于设备及工艺等因素的影响,产品表面的缺陷类型往往五花八门,比如织物生产中方出现的污点、破损,金属产品上的划痕、裂纹、凹凸不平等各种不同类型的缺陷给定一个标准的啤酒盖,如下图所示:通过这个标准的啤酒瓶盖,来判断原创 2021-03-09 21:34:59 · 1991 阅读 · 1 评论 -
OPENCV(六)宽度测量
宽度检测:在传统的自动化生产中,对于尺寸的测量,典型的方法就是千分尺、游标卡尺、塞尺等。而这些测量手段测量精度低、速度慢,无法满足大规模的自动化生产需求。基于机器视觉的尺寸测量属于非接触式的测量,具有检测精度高、速度快、成本低、安装简便等优点。可以检测零件的各种尺寸,如长度、圆、角度、线弧等测量。利用python+opencv方法可以进行宽度的测量。步骤是先选取出一个矩形,然后进行阈值分割,再进行反色,边缘提取之后进行点的选择,输出坐标做出两条线段,根据线段进行矩形绘制,这样之后就可以计算两条直线之间原创 2021-03-09 21:11:20 · 4814 阅读 · 4 评论 -
OPENCV(五) 对给定的车牌进行字符分割
下面有这样的一个车牌号:现在的任务是将每一个字符区分开来,并方框圈出来。完成这个功能需要以下的步骤:1.灰度处理#读取图片image1 = cv2.imread('../img/car1.png')#灰度处理gray = cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY)2.二值化处理(并反色)#对灰度处理进行反色fanse = cv2.bitwise_not(gray)#二值化retval, binary = cv2.threshold(fans原创 2020-12-07 18:30:43 · 2286 阅读 · 6 评论 -
OPENCV(四)对图像进行水平投影和竖直投影
本篇博客讲述如何使用python的openCV库实现对图像的水平投影和竖直投影:关键代码如下:import cv2#读取图片image1 = cv2.imread('../img/123.png')# 灰度图像gray = cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY)# 二值化ret, binary = cv2.threshold(gray,130, 255, cv2.THRESH_BINARY)(h,w) = binary.shape#返回高和宽原创 2020-11-26 16:34:38 · 3328 阅读 · 2 评论 -
OPENCV(三)对图片进行边缘检测
1.边缘检测的意义边缘检测:是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。 这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。sobel算子Sobel算子是一种常用的边缘检测算子,是一阶的梯度算法;对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高;当对精度要求不是很高时,是一种较原创 2020-11-26 16:23:12 · 1210 阅读 · 0 评论 -
OPENCV(二)对图像进行均值滤波,中值滤波,高斯滤波,高斯边缘检测
本篇博客讲述对图像进行均值滤波,中值滤波,高斯滤波,高斯边缘检测滤波的意义在于:刚获得的图像有很多噪音。这主要由于平时的工作和环境引起的,图像增强是减弱噪音,增强对比度。想得到比较干净清晰的图像并不是容易的事情。为这个目标而为处理图像所涉及的操作是设计一个适合、匹配的滤波器和恰当的阈值。(1) 均值滤波器:最简单均值滤波器是局部均值运算,即每一个像素只用其局部邻域内所有值的平均值来置换.(2) 高斯平滑滤波器是一类根据高斯函数的形状来选择权值的线性滤波器。 高斯平滑滤波器对去除服从正态分布的噪声是很有原创 2020-11-17 23:13:21 · 1507 阅读 · 1 评论 -
OPENCV(一)阈值分割,二值图,反色处理,轮廓描绘
本篇博客简述opencv对图像进行阈值分割,二值图,反色处理,轮廓描绘操作环境要求:python语言,并安装py-opencv库import cv2# 读取图像img = cv2.imread('img/test.png')# 灰度处理gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 二值化retval, dst = cv2.threshold(gray, 0, 255,cv2.THRESH_BINARY | cv2.THRESH_OTSU)#反原创 2020-11-17 22:39:28 · 3073 阅读 · 1 评论