1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > opencv-python图像处理 ----边界矩形 外接圆 模板匹配

opencv-python图像处理 ----边界矩形 外接圆 模板匹配

时间:2018-07-01 14:54:41

相关推荐

opencv-python图像处理 ----边界矩形 外接圆 模板匹配

为了能好的体现函数,使用画板又画了一幅图像用来轮廓检测

运行上一节的笔记代码,可以检测出来形状的轮廓。

边界矩形可以将某一边界使用矩形绘制出来,确定一个矩形需要四个点,因此使用函数:

def f_contours():"""轮廓查找与绘制:return:"""img = cv.imread("bound.png")# draw会改变原图,这里做一个备份img_copy = imgdraw_img = img.copy()# 转化呢灰度图gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# 阈值二值化处理ret, thresh = cv.threshold(gray, 100, 255, cv.THRESH_BINARY)cv_show(thresh)# 这个函数只支持接收单颜色通道图像,否则报错contours, hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_NONE)result = cv.drawContours(img_copy, contours, -1, (0, 0, 255), 2)cv_show(result)cnt = contours[0]# 这个函数确定边界的四个点x,y,w,h = cv.boundingRect(cnt)img = cv.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)cv_show(img)

效果如图:

外接圆的使用换成外接圆的函数即可:

cnt = contours[3](x, y), radius = cv.minEnclosingCircle(cnt)# 圆心center = (int(x), int(y))radius=int(radius)img = cv.circle(img, center, radius, (0, 255, 0), 2)cv_show(img)

效果如图:

二、模板匹配

假设当前有一块图片块属于完整图片的某一部分,现想确认其是否属于这张图片内的内容,属于图片的哪一个位置。其方法就是判别当前模板和图片划分出来的部分匹配的相关性,可以使用相关性来判断两图片的相似度。

参考:/gezhuangzhuang/p/10724769.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。