小编adr*_*com的帖子

Python凸壳与scipy.spatial.Delaunay,如何在船体内部分点?

我在np.array中有一个3D点列表pointsList,值为float:

[[1., 2., 10.],
 [2., 0., 1.],
 [3., 6., 9.],
 [1., 1., 1.],
 [2., 2., 2.],
 [10., 0., 10.],
 [0., 10., 5.],
... etc.
Run Code Online (Sandbox Code Playgroud)

此代码使得Delaunay对点云进行三角测量:

import numpy as np
import scipy.spatial 

tri = scipy.spatial.Delaunay(pointsList) 
# Delaunay triangulation

indices = tri.simplices
# indices of vertices

vertices = points[indices]
# the vertices for each tetrahedron
Run Code Online (Sandbox Code Playgroud)

但是,在三角测量步骤之前,我想从列表中删除凸包内部所有点

解决方案是创建一个新的np.array命名shortlist,并将它们存储在那里.

但是scipy(或任何其他解决方案)的功能是什么呢?

我该如何编程这个操作?

谢谢

python numpy delaunay scipy convex-hull

6
推荐指数
1
解决办法
1万
查看次数

Python,内存错误,csv文件太大

我有一个python模块的问题,无法处理导入大数据文件(文件targets.csv权重接近1 Gb)

加载此行时出现错误:

targets = [(name, float(X), float(Y), float(Z), float(BG))
           for name, X, Y, Z, BG in csv.reader(open('targets.csv'))]
Run Code Online (Sandbox Code Playgroud)

追溯:

Traceback (most recent call last):
  File "C:\Users\gary\Documents\EPSON STUDIES\colors_text_D65.py", line 41, in <module>
    for name, X, Y, Z, BG in csv.reader(open('targets.csv'))]
MemoryError
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法逐行打开文件targets.csv?并且还想知道这会减慢这个过程吗?

这个模块已经很慢......

谢谢!

import geometry
import csv
import numpy as np
import random
import cv2

S = 0


img = cv2.imread("MAP.tif", -1)
height, width = img.shape

pixx = height * width
iterr = float(pixx / 1000)
accomplished = 0
temp …
Run Code Online (Sandbox Code Playgroud)

python memory csv

2
推荐指数
1
解决办法
3413
查看次数

numpy乘以不同形状的数组

我有一个A形状(w,h) = 3000,2000 阵列和另一个B形状阵列d = 100

我想将Aby的每个值相乘B,并C以形状数组的形式得到结果(w,h,d) = 3000,2000,100

现在我使用下面非常慢的代码,我该如何对这个操作进行矢量化?

w,h,d = 3000,2000,100

A = np.ones((w,h))

B = np.arange(d)

C = np.zeros((w,h,d))

for i in xrange(w):
    for j in xrange(h):
        C[i,j] = A[i,j] * B
Run Code Online (Sandbox Code Playgroud)

谢谢

arrays numpy python-2.7

2
推荐指数
1
解决办法
582
查看次数

numpy将数组元素与另一个数组相乘

我正在尝试编码多光谱图像.

每个像素的值都在33个通道中编码.

我有两个numpy数组imagespectral_range

例如,一个图像有4 x 4像素:

image = np.array([[[1,2,4,3],[2,2,2,1],[1,2,3,2],[5,4,3,2]])
Run Code Online (Sandbox Code Playgroud)

并且对于每个像素应该与图像覆盖的光谱范围的33个值相关联:

spectral_range = np.array([0,0,0,0,0,0,0,1,23,99,166,86,54,12,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])
Run Code Online (Sandbox Code Playgroud)

我怎样才能简单地创建一个np.array形状(width, height, 33),其中每个像素的33个值是数组的33个值spectrum乘以数组的各个值image

预期结果如下:

result = np.array([[[0,0,0,0,0,0,0,1,23,99,166,86,54,12,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,2,46,198,...etc.]]])
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

python arrays numpy

1
推荐指数
1
解决办法
961
查看次数

标签 统计

numpy ×3

python ×3

arrays ×2

convex-hull ×1

csv ×1

delaunay ×1

memory ×1

python-2.7 ×1

scipy ×1