如何访问凸包内部的像素?

问题描述 投票:0回答:2

一旦获得图像的凸包,它们以任何方式来对位于凸包内的像素进行评估。

import numpy as np
import cv2
import PIL

usg = cv2.imread("1.jpg",0)

ret, threshold = cv2.threshold(usg, 10,255,cv2.THRESH_BINARY)

_,contours,_ = cv2.findContours(threshold,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)            
hull = [cv2.convexHull(c) for c in contours]

final = cv2.drawContours(usg,hull,-1,(255,255,255))

这里,final给出图像的凸包。之后,我要访问船体内部的像素。

一旦获得图像的凸包,它们以任何方式对位于凸包内的像素进行处理。导入numpy as np导入cv2导入PIL usg = cv2.imread(“ 1.jpg”,0)ret,threshold = ...

python image opencv contour image-segmentation
2个回答
0
投票

如果已经有了绘制的凸包,则只需使用NumPy的boolean array indexing访问凸包内的像素。


0
投票

凸包是凸多边形。您可以通过实现多边形填充算法来枚举船体内部的像素。对于凸多边形,使用扫描线方法很容易。

© www.soinside.com 2019 - 2024. All rights reserved.