前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python d用法_Python numpy.dsplit() 使用实例

python d用法_Python numpy.dsplit() 使用实例

作者头像
用户7886150
修改2021-01-06 17:47:15
5890
修改2021-01-06 17:47:15
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: Python中的numpy.less

The following are code examples for showing how to use . They are extracted from open source Python projects. You can vote up the examples you like or vote down the exmaples you don’t like. You can also save this page to your account.

?Example 1

?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)

?Example 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)

?Example 3

?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

?Example 4

?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)

?Example 5

?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)

?Example 6

?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)

?Example 7

?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])

本文系转载,前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com