首页 > 其他 > 详细

图形的中心位置,Center of Shape

时间:2020-10-05 21:58:51      阅读:35      评论:0      收藏:0      [点我收藏+]
import argparse
import imutils
import cv2

ap=argparse.ArgumentParser()
ap.add_argument("-i","--image",required=True,help="path to the input image")
args=vars(ap.parse_args())

image =cv2.imread(args["image"])
gray =cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)  #转为灰度图
blurred=cv2.GaussianBlur(gray,(5,5),0)      # 高斯模糊,(5,5)是内核大小,
thresh=cv2.threshold(blurred,200,225,cv2.THRESH_BINARY_INV)[1]  #二值化处理,最后一个参数为处理方式,本条命令是色值高于60的设置为255
cv2.imshow("",thresh)
cv2.waitKey(0)
#findContours 接受的图像参数必须为二值图,所以上面先讲将图像转化灰度图,然后再进行二值化处理
cnts=cv2.findContours(thresh.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
cnts=imutils.grab_contours(cnts)  #返回cnts中的countors(轮廓)

# loop over the contours
i=0
for c in cnts:
	# compute the center of the contour
	M = cv2.moments(c)
	cX = int(M["m10"] / M["m00"])
	cY = int(M["m01"] / M["m00"])
	# draw the contour and center of the shape on the image
	cv2.drawContours(image, [c], -1, (0, 255, 0), 2)
	cv2.circle(image, (cX, cY), 7, (255, 255, 255), -1)
	cv2.putText(image, "center", (cX - 20, cY - 20),
		cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255), 2)
	# show the image
	cv2.imshow("Image", image)
	cv2.waitKey(0)

  

图形的中心位置,Center of Shape

原文:https://www.cnblogs.com/xiaolanshu/p/13771703.html

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