我们从Python开源项目中,提取了以下7个代码示例,用于说明如何使用numpy.dsplit()。
def dsplit(ary, indices_or_sections): """Splits an array into multiple sub arrays along the third axis. This is equivalent to ``split`` with ``axis=2``. .. seealso:: :func:`cupy.split` for more detail, :func:`numpy.dsplit` """ if ary.ndim <= 2: raise ValueError('Cannot dsplit an array with less than 3 dimensions') return split(ary, indices_or_sections, 2)
def vsplit(ary, indices_or_sections): """Splits an array into multiple sub arrays along the first axis. This is equivalent to ``split`` with ``axis=0``. .. seealso:: :func:`cupy.split` for more detail, :func:`numpy.dsplit` """ if ary.ndim <= 1: raise ValueError('Cannot vsplit an array with less than 2 dimensions') return split(ary, indices_or_sections, 0)
def char2wordBB(self, charBB, text): """ Converts character bounding-boxes to word-level bounding-boxes. charBB : 2x4xn matrix of BB coordinates text : the text string output : 2x4xm matrix of BB coordinates, where, m == number of words. """ wrds = text.split() bb_idx = np.r_[0, np.cumsum([len(w) for w in wrds])] wordBB = np.zeros((2,4,len(wrds)), 'float32') for i in xrange(len(wrds)): cc = charBB[:,:,bb_idx[i]:bb_idx[i+1]] # fit a rotated-rectangle: # change shape from 2x4xn_i -> (4*n_i)x2 cc = np.squeeze(np.concatenate(np.dsplit(cc,cc.shape[-1]),axis=1)).T.astype('float32') rect = cv2.minAreaRect(cc.copy()) box = np.array(cv2.cv.BoxPoints(rect)) # find the permutation of box-coordinates which # are "aligned" appropriately with the character-bb. # (exhaustive search over all possible assignments): cc_tblr = np.c_[cc[0,:], cc[-3,:], cc[-2,:], cc[3,:]].T perm4 = np.array(list(itertools.permutations(np.arange(4)))) dists = [] for pidx in xrange(perm4.shape[0]): d = np.sum(np.linalg.norm(box[perm4[pidx],:]-cc_tblr,axis=1)) dists.append(d) wordBB[:,:,i] = box[perm4[np.argmin(dists)],:].T return wordBB
def _ros_read_images(self, stream_buffer, number, staleness_limit = 10.): """ Reads images from a stream buffer Parameters ---------- stream_buffer : string absolute path to the image buffer service number : int The number of frames to get. Must be less than the image buffer service's current buffer size staleness_limit : float, optional Max value of how many seconds old the oldest image is. If the oldest image grabbed is older than this value, a RuntimeError is thrown. If None, staleness is ignored. Returns ------- List of nump.ndarray objects, each one an image Images are in reverse chronological order (newest first) """ rospy.wait_for_service(stream_buffer, timeout = self.timeout) ros_image_buffer = rospy.ServiceProxy(stream_buffer, ImageBuffer) ret = ros_image_buffer(number, 1) if not staleness_limit == None: if ret.timestamps[-1] > staleness_limit: raise RuntimeError("Got data {0} seconds old, more than allowed {1} seconds" .format(ret.timestamps[-1], staleness_limit)) data = ret.data.reshape(ret.data_dim1, ret.data_dim2, ret.data_dim3).astype(ret.dtype) # Special handling for 1 element, since dstack's behavior is different if number == 1: return [data] return np.dsplit(data, number)
def _rpc(self, x): L, P, H = np.dsplit(x, 3) return np.dstack([np.ones((x.shape[0], x.shape[1]), dtype=np.float32), L, P, H, L*P, L*H, P*H, L**2, P**2, H**2, L*P*H, L**3, L*(P**2), L*(H**2), (L**2)*P, P**3, P*(H**2), (L**2)*H, (P**2)*H, H**3])