美文网首页
找虫子续集

找虫子续集

作者: wenyilab | 来源:发表于2018-10-12 17:54 被阅读0次

在上篇文章我们找到虫子的最小面积的矩形了,画的矩形框也很漂亮,但是如果我们想找到很正的矩形框该怎么做呢?
这篇文章的思路是利用cv2.findContours函数先找出目标的轮廓,然后再找到这些轮廓的最值xmin,ymin,xmax,ymax,有了这四个值就可以画出虫子很正的矩形框了,另外此篇代码仅适用只有一个目标的图片。

首先,我们读入之前的二值图片,如果不是一个通道的图,需将其转化成一个通道:

import cv2
import numpy as np
img = cv2.imread('closed.jpg',1)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

找出目标轮廓:

image,contours,hierarchy = cv2.findContours(gray.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_TC89_KCOS)

我们可以看看轮廓的样子是怎样的

for i in range(np.size(contours)):
    draw_cnts = cv2.drawContours(img.copy(),contours[i],-1,(0,255,0),5)
cv2.imshow('draw_cnts',draw_cnts)

效果如下:


wenyilab

找出轮廓的四个最值

pointxs = []
pointys = []
for i in range(np.size(contours)):
    pointxs.append(contours[i][0][0][0])
    pointys.append(contours[i][0][0][0])
pointxs.sort()
pointys.sort()
#print(pointxs[0],pointxs[-1],pointys[0],pointys[-1])
xmin = pointxs[-1]
xmax = pointxs[0]
ymin = pointys[-1]
ymax = pointys[0]

接下来就是画出我们很正的矩形框了

rect = cv2.rectangle(img.copy(),(xmin,ymin),(xmax,ymax),(255,0,0),5)
cv2.imshow('rect',rect)

效果如下:


wenyilab

相关文章

  • 找虫子续集

    在上篇文章我们找到虫子的最小面积的矩形了,画的矩形框也很漂亮,但是如果我们想找到很正的矩形框该怎么做呢?这篇文章的...

  • 找虫子~

    没错,这个项目就是来找虫子,当然是找那种很显而易见的那种,比如下图: 也许你说这不是明摆着一个大虫子吗,还用的着去...

  • 《我们》(29)——两只忙碌的小鸟

    《我们29》 有两只忙碌小鸟 为了飞得更高更远 他最近呀学习早起 找虫子,练习飞翔 找虫子,练习飞翔 找虫子,练习...

  • 乐乐班--找虫子

    池塘边的松树上 知了在声声叫着夏天 操场边的秋千上 还有那蝴蝶停在上面 …… 趴在地上看蚂蚁搬家,下雨天草丛中里捉...

  • 女儿的决心

    半夜女儿突然坐起来说“虫子,虫子!”还用手在床单上摸来摸去,好像在找虫子。我赶紧起身开灯,问“有虫子?”我还把被子...

  • 巴西的恐怖虫子。

    巴西是一个虫子非常多的地方,当然了,在巴西也有许多恐怖的虫子经常出没在那里,询问手续集,就想到了红火蚁和举腹蚁,它...

  • 找金虫子的启发

    昨天写到Coco通过找金虫子平复了情绪,第二天晚上她主动要求和弟弟一起找金虫子,很愿意仔细观察。 她在黑板上画了一...

  • 早起的鸟儿找虫子

    昨儿一早忍不住嘴,吃了楼下的水煎包,味道不错,就是油了些。没有母亲做得口味地道,勉强是可以解解馋,四个小煎包进了胃...

  • 小公鸡和小鸭子

    小公鸡和小鸭子一起出去玩, 他们走进草丛里, 一起在找虫子吃, 但是小公鸡找到虫子小鸭子却没找到虫子,它...

  • 看到虫子

    虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫子虫...

网友评论

      本文标题:找虫子续集

      本文链接:https://www.haomeiwen.com/subject/vzlwaftx.html