def get_raw_grasps(self, idx, rot=0, zoom=1.0):
        raw_grasps = Grasps.load_from_cornell_files(self.graspf[idx])
        center, left, top = self._get_crop_attrs(idx)
        # 这是paddlepaddel这里报错而专门加的一句,rot.sequeeze()
        raw_grasps.rotate(rot.squeeze(), center)
        raw_grasps.offset((-top, -left))
        raw_grasps.zoom(zoom, (self.output_size // 2, self.output_size // 2))

        return raw_grasps
    def _get_crop_attrs(self, idx):
        grasp_rectangles = Grasps.load_from_cornell_files(self.graspf[idx])
        center = grasp_rectangles.center

        left = max(
            0, min(center[1] - self.output_size // 2, 640 - self.output_size))
        top = max(
            0, min(center[0] - self.output_size // 2, 480 - self.output_size))

        return center, left, top
    def get_raw_grasps(self, idx):
        '''
        :功能       :读取返回指定id的抓取框信息斌进行一系列预处理(裁剪,缩放等)后以Grasps对象的形式返回
        :参数 idx   :int,要读取的数据id
        :返回       :Grasps,此id中包含的抓取
        '''
        raw_grasps = Grasps.load_from_cornell_files(self.graspf[idx])
        center, left, top = self._get_crop_attrs(idx)
        raw_grasps.offset((-left, -top))

        return raw_grasps
    def get_grasp(self, idx, rot=0, zoom=1.0):
        grs = Grasps.load_from_cornell_files(self.graspf[idx])
        center, left, top = self._get_crop_attrs(idx)
        #先旋转再偏移再缩放
        grs.rotate(rot, center)
        grs.offset((-top, -left))
        grs.zoom(zoom, (self.output_size // 2, self.output_size // 2))
        pos_img, angle_img, width_img = grs.generate_img(
            shape=(self.output_size, self.output_size))

        return pos_img, angle_img, width_img
 def get_raw_grasps(self,idx,rot = 0.0,zoom = 1.0):
     '''
     :功能       :读取返回指定id的抓取框信息斌进行一系列预处理(裁剪,缩放等)后以Grasps对象的形式返回
     :参数 idx   :int,要读取的数据id
     :返回       :Grasps,此id中包含的抓取
     '''
     raw_grasps = Grasps.load_from_cornell_files(self.graspf[idx])
     center, left, top = self._get_crop_attrs(idx)
     raw_grasps.rotate(rot,center)
     raw_grasps.offset((-top,-left))
     raw_grasps.zoom(zoom,(self.output_size//2,self.output_size//2))
     
     return raw_grasps
    def _get_crop_attrs(self, idx):
        '''
        :功能     :读取多抓取框中心点的坐标,并结合output_size计算要裁剪的左上角点坐标
        :参数 idx :int,
        :返回     :计算出来的多抓取框中心点坐标和裁剪区域左上角点坐标
        '''
        grasp_rectangles = Grasps.load_from_cornell_files(self.graspf[idx])
        center = grasp_rectangles.center
        #按照ggcnn里面的话,这里本该加个限制条件,防止角点坐标溢出边界,但前面分析过,加不加区别不大,就不加了
        left = center[0] - self.output_size // 2
        top = center[1] - self.output_size // 2

        return center, left, top
 def _get_crop_attrs(self,idx):
     '''
     :功能     :读取多抓取框中心点的坐标,并结合output_size计算要裁剪的左上角点坐标
     :参数 idx :int,
     :返回     :计算出来的多抓取框中心点坐标和裁剪区域左上角点坐标
     '''
     grasp_rectangles = Grasps.load_from_cornell_files(self.graspf[idx])
     center = grasp_rectangles.center
     #按照ggcnn里面的话,这里本该加个限制条件,防止角点坐标溢出边界,但前面分析过,加不加区别不大,就不加了
     #分析错误,后面出现bug了,所以还是加上吧
     left = max(0, min(center[1] - self.output_size // 2, 640 - self.output_size))
     top = max(0, min(center[0] - self.output_size // 2, 480 - self.output_size))
     
     return center,left,top#the center (column,row) must be changed to for later rotate considerations
Example #8
0
    def get_grasp(self, idx):
        '''
        :功能       :读取返回指定id的抓取标注参数并将多个抓取框的参数返回融合
        :参数 idx   :int,要读取的数据id
        :返回       :以图片的方式返回定义一个抓取的多个参数,包括中心点,角度,宽度和长度,同时返回idx,方便后面validate的时候查找真实的抓取框用
        '''
        grs = Grasps.load_from_cornell_files(self.graspf[idx])
        grs.offset((-(grs.center[0] - self.output_size // 2),
                    -(grs.center[1] - self.output_size // 2)))

        pos_img, angle_img, width_img = grs.generate_img(
            shape=(self.output_size, self.output_size))

        return pos_img, angle_img, width_img
 def get_grasp(self,idx,rot=0, zoom=1.0):
     '''
     :功能       :读取返回指定id的抓取标注参数并将多个抓取框的参数返回融合
     :参数 idx   :int,要读取的数据id
     :返回       :以图片的方式返回定义一个抓取的多个参数,包括中心点,角度,宽度和长度,同时返回idx,方便后面validate的时候查找真实的抓取框用
     '''
     grs = Grasps.load_from_cornell_files(self.graspf[idx])
     center, left, top = self._get_crop_attrs(idx)
     #先旋转再偏移再缩放
     grs.rotate(rot,center)
     grs.offset((-top,-left))
     grs.zoom(zoom,(self.output_size//2,self.output_size//2))
     pos_img,angle_img,width_img = grs.generate_img(shape = (self.output_size,self.output_size))
     
     return pos_img,angle_img,width_img
    def get_grasp(self, idx):
        '''
        :功能       :读取返回指定id的抓取标注参数并将多个抓取框的参数返回融合
        :参数 idx   :int,要读取的数据id
        :参数 pos   :bool,是否生成返回位置映射图
        :参数 angle :bool,是否生成返回角度映射图
        :参数 width :bool,是否生成返回夹爪宽度映射图
        :返回       :以图片的方式返回定义一个抓取的多个参数,包括中心点,角度,宽度和长度
        '''
        grs = Grasps.load_from_cornell_files(self.graspf[idx])
        grs.offset((-(grs.center[0] - self.output_size // 2),
                    -(grs.center[1] - self.output_size // 2)))

        pos_img, angle_img, width_img = grs.generate_img(
            shape=(self.output_size, self.output_size))

        return pos_img, angle_img, width_img