Blame view

src/common/dvppx/dvpp_cropandpastex.h 2.65 KB
20396d5c   Hu Chunming   添加车头车尾算法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  /**
  * Copyright 2020 Huawei Technologies Co., Ltd
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  
  * http://www.apache.org/licenses/LICENSE-2.0
  
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  
  * File dvpp_process.h
  * Description: handle dvpp process
  */
  #pragma once
  #include <cstdint>
  
  #include "acl/acl.h"
  #include "acl/ops/acl_dvpp.h"
  #include "utils.h"
  
  class DvppCropAndPastex {
  public:
      /**
      * @brief Constructor
      * @param [in] stream: stream
      */
      DvppCropAndPastex(aclrtStream &stream, acldvppChannelDesc *dvppChannelDesc,
                 uint32_t width, uint32_t height);
  
      /**
      * @brief Destructor
      */
      ~DvppCropAndPastex();
  
      /**
      * @brief dvpp global init
      * @return result
      */
      int InitResource();
  
      /**
      * @brief init dvpp output para
      * @param [in] modelInputWidth: model input width
      * @param [in] modelInputHeight: model input height
      * @return result
      */
      int InitOutputPara(int modelInputWidth, int modelInputHeight);
  
      /**
      * @brief dvpp process
      * @return result
      */
      int Process(ImageData& resizedImage, ImageData& srcImage);
b3012672   Hu Chunming   天啊及hp,road_seg子sd...
59
  
20396d5c   Hu Chunming   添加车头车尾算法
60
61
62
63
64
65
      int Crop2Process(ImageData& resizedImage, ImageData& leftImage, ImageData& rightImage, ImageData& srcImage);
      int PatchProcess(ImageData& resizedImage, ImageData& srcImage, uint32_t xmin, uint32_t ymin,
      uint32_t xmax, uint32_t ymax);
  
      int ResizeWithPadding(ImageData& resizedImage, ImageData& srcImage);
  
b3012672   Hu Chunming   天啊及hp,road_seg子sd...
66
67
      ImageData* Crop_naked(ImageData& srcImage, uint32_t xmin, uint32_t ymin, uint32_t xmax, uint32_t ymax);
  
20396d5c   Hu Chunming   添加车头车尾算法
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
  private:
      int InitCropAndPasteResource(ImageData& inputImage);
      int InitCropAndPasteInputDesc(ImageData& inputImage);
      int InitCropAndPasteOutputDesc();
  
      int InitRightCropAndPasteResource(ImageData& inputImage);
      int InitRightCropAndPasteOutputDesc();
  
      void DestroyCropAndPasteResource();
  
      aclrtStream stream_;
      acldvppChannelDesc *dvppChannelDesc_;
  
  
      // IN/OUT Desc
      acldvppPicDesc *vpcInputDesc_;
      acldvppPicDesc *vpcOutputDesc_;
  
      uint32_t originalImageWidth_;
      uint32_t originalImageHeight_;
  
      acldvppRoiConfig *cropArea_;
      acldvppRoiConfig *pasteArea_;
  
      // output buffer
      void *vpcOutBufferDev_;
      uint32_t vpcOutBufferSize_;
  
      //model [W][H]
      Resolution size_;
      acldvppPixelFormat format_;
  };