学习笔记(04):一学即懂的计算机视觉(第一季)-图像表示描述实战演练
立即学习:https://edu.csdn.net/course/play/26281/327095?utm_source=blogtoedu
图像描述
import numpy as np
import cv2
import copy
img=cv2.imread(r'C:\Users\c\Pictures\test.jpg')
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#去噪声
kernel=cv2.getStructuringElement(cv2.MORPH_CROSS,(3,3))
gray=cv2.morphologyEx(gray,cv2.MORPH_OPEN,kernel)
gray=cv2.morphologyEx(gray,cv2.MORPH_CLOSE,kernel)
thr,bw=cv2.threshold(gray,1,255,cv2.THRESH_BINARY)#thr阈值,bw处理后图像
cv2.imshow('Source',img)
cv2.imshow('Threshold',bw)
cv2.waitKey()
cv2.destroyAllWindows()
#图像轮廓
cnts,hier=cv2.findContours(bw,cv2.RETR_LIST,cv2.CHAIN_APPROX_NONE)
disp_poly=img.copy()
disp_elli=img.copy()
for i in range(len(cnts)):
c=cnts[i] #轮廓提取
poly=cv2.approxPolyDP(c,5,True)#外接矩形拟合,5代表允许误差大小,1,几乎看不出折线
cv2.polylines(disp_poly,[poly],True,(255,255,255),2) #画出外接矩形
#拟合椭圆
if(len(c)>5):
ellipse=cv2.fitEllipse(c)
cv2.ellipse(disp_elli,ellipse,(255,255,255),2)
area=cv2.contourArea(c)#面积计算
length=cv2.arcLength(c,True)
moments=cv2.moments(c)#普通距的计算
hu=cv2.HuMoments(moments)#计算Hu不变矩
print(i+1,' : ','length=%.1f'%length,'area=',area,
'm00=%.3f,m01=%.3f,m10=%.3f,m11=%.3f'%(hu[0],hu[1],hu[2],hu[3]))
#得到对应区域包围框,并在左上角限时序号
x,y,w,h=cv2.boundingRect(c)
cv2.putText(disp_poly,str(i+1),(x,y),cv2.FONT_HERSHEY_PLAIN,0.8,(0xff,0xff,0xff))
cv2.imshow('poly',disp_poly)
cv2.imshow('elli',disp_elli)
cv2.waitKey()
cv2.destroyAllWindows()
- 点赞 1
- 收藏
- 分享
- 文章举报
- 学习笔记(02):一学即懂的计算机视觉(第一季)-图像变换实战演练
- 学习笔记(01):一学即懂的计算机视觉(第一季)-实战演练:颜色空间分解
- 学习笔记(03):一学即懂的计算机视觉(第一季)-图像平滑滤波与去噪
- 学习笔记(02):一学即懂的计算机视觉(第一季)-实战演练:颜色空间分解
- 计算机视觉与图像处理学习笔记(一)
- (一)图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】
- (一)图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】
- 图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】
- 图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】
- [计算机视觉:算法与应用]学习笔记一:图像形成
- 计算机视觉学习笔记:图像特征提取
- (二)图像坐标:我想和世界坐标谈谈(B) 【计算机视觉学习笔记--双目视觉的几何框架系列】
- (一)图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】
- 【计算机视觉】EmguCV学习笔记(3)ROI区域图像叠加以及初级图像混合
- (二)图像坐标:我想和世界坐标谈谈(B) 【计算机视觉学习笔记--双目视觉的几何框架系列】
- python 计算机视觉学习笔记(1)--对图像进行基本处理
- 斯坦福CS231n计算机视觉学习笔记【二】图像分类数据驱动、K最近邻算法、线性分类
- 【计算机视觉】EmguCV学习笔记(4)分离颜色通道以及多通道图像混合
- 深度学习与计算机视觉[CS231N]学习笔记(2.1):图像分类
- 计算机视觉与图像处理学习笔记(二)win32+mingw+opencv搭建