Apollo 10.0
自动驾驶开放平台
image_data_operations.cc
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2022 The Apollo Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *****************************************************************************/
17
18#include "cyber/common/log.h"
19
20#if GPU_PLATFORM == NVIDIA
21#include <nppi.h>
22
24#elif GPU_PLATFORM == AMD
25#include <rppi.h>
26
28#define nppImageToBlob rppImageToBlob
29#define nppImageToGray rppImageToGray
30#define nppImageRemap rppImageRemap
31#define nppSwapImageChannels rppSwapImageChannels
32#define nppDupImageChannels rppDupImageChannels
33#endif
34
35namespace apollo {
36namespace perception {
37namespace camera {
38
40 return nppImageToBlob(image, blob);
41}
42
43bool imageToGray(const base::Image8UPtr &src, const base::Image8UPtr &dst,
44 const int src_width, const int src_height,
45 const float coeffs[3]) {
46 return nppImageToGray(src, dst, src_width, src_height, coeffs);
47}
48
50 const int src_width, const int src_height,
51 const int order[3]) {
52 return nppSwapImageChannels(src, dst, src_width, src_height, order);
53}
54
56 const int src_width, const int src_height) {
57 return nppDupImageChannels(src, dst, src_width, src_height);
58}
59
60bool imageRemap(const base::Image8U &src_img, base::Image8U *dst_img,
61 const int src_width, const int src_height,
62 const base::Blob<float> &map_x,
63 const base::Blob<float> &map_y) {
64 return nppImageRemap(src_img, dst_img, src_width, src_height, map_x, map_y);
65}
66
67} // namespace camera
68} // namespace perception
69} // namespace apollo
A wrapper around SyncedMemory holders serving as the basic computational unit for images,...
Definition blob.h:88
A wrapper around Blob holders serving as the basic computational unit for images.
Definition image_8u.h:44
std::shared_ptr< Image8U > Image8UPtr
Definition image_8u.h:148
bool imageToBlob(const base::Image8U &image, base::Blob< uint8_t > *blob)
bool imageToGray(const base::Image8UPtr &src, const base::Image8UPtr &dst, const int src_width, const int src_height, const float coeffs[3])
bool swapImageChannels(const base::Image8UPtr &src, const base::Image8UPtr &dst, const int src_width, const int src_height, const int order[3])
bool nppImageToGray(const base::Image8UPtr &src, const base::Image8UPtr &dst, const int src_width, const int src_height, const float coeffs[3])
bool imageRemap(const base::Image8U &src_img, base::Image8U *dst_img, const int src_width, const int src_height, const base::Blob< float > &map_x, const base::Blob< float > &map_y)
bool nppDupImageChannels(const base::Image8UPtr &src, const base::Image8UPtr &dst, const int src_width, const int src_height)
bool nppImageRemap(const base::Image8U &src_img, base::Image8U *dst_img, const int src_width, const int src_height, const base::Blob< float > &map_x, const base::Blob< float > &map_y)
bool nppSwapImageChannels(const base::Image8UPtr &src, const base::Image8UPtr &dst, const int src_width, const int src_height, const int order[3])
bool dupImageChannels(const base::Image8UPtr &src, const base::Image8UPtr &dst, const int src_width, const int src_height)
bool nppImageToBlob(const base::Image8U &image, base::Blob< uint8_t > *blob)
class register implement
Definition arena_queue.h:37