0
我试图找出具有最大面积的轮廓,获得矩形区域的坐标并裁剪出该区域并显示。 ocean.jpg如何查找轮廓的坐标并对其进行裁剪?
这是代码:
import cv2
import numpy as np
img = cv2.imread('ocean.jpg')
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh=cv2.threshold(gray,127,255,0)
x,contours,hierarchy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cnt = contours[0]
cv2.drawContours(img,contours,-1,(0,255,0),1)
cv2.imshow('Contours',img)
a=[]
for i in range (len(contours)):
a.append(cv2.contourArea(contours[i]))
z=(max(a))
print (contours[a.index(z)])
替换'cv2.CHAIN_APPROX_SIMPLE'到'cv2.CHAIN_APPROX_NONE'。然后,对象“轮廓”将具有所有点的坐标。 –