python宽度测量(机器视觉)
思路:
- 读取原图片,并且转换成灰色图
- 截取需要测量图像的区域
- 对截取图像进行黑白二值化处理
- 然后框出物体的轮廓,得到轮廓坐标和长和宽,并且输出宽度
- 同时进行高斯边缘检测(得到白色背景黑色的物体边框)
- 对高斯边缘检测图绘制直线
- 将截取的图像(经过绘制直线处理过的高斯边缘检测图)替换掉原图相应部分
- 输出图片
原图:
代码:
import cv2
from PIL import Image, ImageDraw, ImageFont
import numpy as np
#用于给图片添加注释
def Img(img,text,textColor=(255,0, 0)):
left=5;top=5#设置字体在图片的位置
textSize = 20#设置字体的字号
if (isinstance(img,np.ndarray)): #判断是否为OpenCV图片类型
img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
draw = ImageDraw.Draw