首页 > 其他 > 详细

day 11 绘制轮廓

时间:2017-11-27 22:38:25      阅读:260      评论:0      收藏:0      [点我收藏+]
#-*- coding:utf-8 -*-

import cv2
import numpy as np

#1.导入图像
#img = cv2.imread("home.jpg",0)   #因为还有在原始图像绘制轮廓,不能读入灰度图像
img = cv2.imread("home.jpg")

img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#2.二值化处理,
ret,thresh = cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY)

#3.查找轮廓
image,contours,hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
                #第1参数:输入图像
                #第2参数:轮廓检索方式
                #第3参数:轮廓近似方法 cv2.CHAIN_APPROX_SIMPLE(矩形框) cv2.CHAIN_APPROX_NONE(点)

#第1返回值 图像
#第2返回值  轮廓(是list列表,寸纯图像中的所有轮廓,每个轮廓是个Numpy数组(x,y))
#第3返回值  轮廓的层析结构

#4.绘制轮廓
#imgage = cv2.drawContours(img,contours,-1,(0,255,0),2)
                         #第1参数:原始图像
                        # 第2参数:轮廓,1个python列表
                        # 第3参数:轮廓的索引(-1时绘制所有轮廓)
                        # 第4参数:轮廓颜色
                        # 第5参数:轮廓厚度


#5.绘制外界矩形
for cnt in contours:       #从list列表取出每个轮廓
    if cv2.contourArea(cnt) < 1500:
        continue
    x,y,w,h = cv2.boundingRect(cnt)
    #x,y 矩形顶点(左上角)   w,h(矩形宽高)
    img = cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)

cv2.imshow(dilation,img)
cv2.waitKey(0)
cv2.destroyAllWindows()

    技术分享图片

 

day 11 绘制轮廓

原文:http://www.cnblogs.com/venicid/p/7906146.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!