numpy 怎样才能求出直线和等高线的交点面积

9bfwbjaz  于 2022-12-18  发布在  其他
关注(0)|答案(2)|浏览(104)

蓝色笔是轮廓
红笔是直线
我怎样才能找到直线和等高线相交的两个区域
现在我可以通过下式得到等值线面积
area = cv2.contourArea(np.array( [ [i] for i in blue_points ] ))

waxmsbnn

waxmsbnn1#

一种简单但可能不是最有效的方法是使用cv.drawContourscv.line创建两个映像:一个具有斑点的轮廓,另一个具有线的轮廓,然后将它们一起cv.bitwise_and,并且任何仍然为正的点将是交点。

hgtggwj0

hgtggwj02#

Shapelylibrary使它更快。
假设你有等高线和直线的点:

from shapely.geometry import Polygon, LineString

poly = Polygon([(5,5), (10,10), (10,0)])
a = LineString([(0, 0), (8, 8)])
print(a.intersects(poly))

有加速代码的选项。未选中。

相关问题