神剑山庄资源网 Design By www.hcban.com
1、概述
经常用到轮廓查找和多边形拟合等opencv操作,因此记录以备后续使用。本文代码中的阈值条件对图片没有实际意义,仅仅是为了测试。
原图为:
2、测试代码:
import cv2 import numpy as np img = cv2.imread('/home/yasin/coffe.jpg') img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) _, contours, hierarchy = cv2.findContours(img_gray, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) cv2.drawContours(img, contours, -1, (255, 0, 255), 1) cv2.namedWindow('Result of drawContours', 0) cv2.imshow('Result of drawContours', img) cv2.waitKey() cnt = 0 for i in range(len(contours)): arclen = cv2.arcLength(contours[i], True) epsilon = max(3, int(arclen * 0.02)) # 拟合出的多边形与原轮廓最大距离,可以自己设置,这里根据轮廓周长动态设置 approx = cv2.approxPolyDP(contours[i], epsilon, False) # 轮廓的多边形拟合 area = cv2.contourArea(contours[i]) # 计算面积 rect = cv2.minAreaRect(contours[i]) box = np.int0(cv2.boxPoints(rect)) # 计算最小外接矩形顶点 h = int(rect[1][0]) w = int(rect[1][1]) if min(h, w) == 0: ration = 0 else: ration = max(h,w) /min(h,w) # 长宽比 # 对长宽比,轮廓面积,拟合出的多边形顶点数做筛选 if ration < 10 and area > 20 and area < 4000 and approx.shape[0] > 3 : # 对满足条件的轮廓画出轮廓的拟合多边形 cv2.polylines(img, [approx], True, (0, 255, 0), 1) cv2.namedWindow('Result of filtered', 0) cv2.imshow('Result of filtered', img) cv2.waitKey()
画出的所有轮廓:
在原轮廓基础上画出筛选后的轮廓(绿色部分,没有实际意义):
补充知识:OpenCV python 轮廓(连通域)最小外接圆形
原图:[cc.jpg]
import cv2 import numpy as np def main(): # 1.导入图片 img_src = cv2.imread("cc.jpg") # 2.灰度化,二值化 img_gray = cv2.cvtColor(img_src, cv2.COLOR_BGR2GRAY) ret, img_bin = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY) # 3.连通域分析 img_bin, contours, hierarchy = cv2.findContours(img_bin, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) # 4.获取最小外接圆 圆心 半径 center, radius = cv2.minEnclosingCircle(contours[0]) center = np.int0(center) # 5.绘制最小外接圆 img_result = img_src.copy() cv2.circle(img_result, tuple(center), int(radius), (255, 255, 255), 2) # 6.显示结果图片 cv2.imshow("img_src", img_src) cv2.imshow("img_result", img_result) cv2.waitKey() cv2.destroyAllWindows() if __name__ == '__main__': main()
处理结果:[img_sult.jpg]
以上这篇Python实现图片查找轮廓、多边形拟合、最小外接矩形代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com
暂无Python实现图片查找轮廓、多边形拟合、最小外接矩形代码的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年09月29日
2024年09月29日
- 孙悦.1996-伙伴【正大国际】【WAV+CUE】
- 纪钧瀚《钢琴阅读时光 雨中书店聆听轻音乐》[FLAC/分轨][399.62MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[320K/MP3][87.4MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[FLAC/分轨][184.94MB]
- 陈慧娴.2018-Priscilla-Ism演唱会3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郑秀文.1999-我应该得到(国)【华纳】【WAV+CUE】
- 陈家慧.2011-钢琴酒吧2CD【龙吟唱片】【WAV+CUE】
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[320K/MP3][45.01MB]
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[FLAC/分轨][109.13MB]
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】