Skip to content

Commit 0c6dde3

Browse files
Merge pull request #145 from CVCUDA/feat/milesp/release_0-6-6
feat: adding code for release v0.6.0 (beta-4) of CV-CUDA
2 parents 8b591a7 + 56d6aea commit 0c6dde3

File tree

251 files changed

+15228
-1970
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

251 files changed

+15228
-1970
lines changed

3rdparty/CMakeLists.txt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@
1515

1616
set(CMAKE_FOLDER 3rdparty)
1717

18-
# disable all warnings
18+
# disable all warnings when compiling objects of 3rdparty
19+
# libraries included here. It *doesn't* affect warnings in public
20+
# header files that are included by cvcuda code. For that, see
21+
# solution employed with nvbench.
1922
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
2023
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w")
2124
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -w")
@@ -40,9 +43,18 @@ set(DLPACK_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dlpack" PARENT_SCOPE)
4043
set(CUOSD_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cuOSD" PARENT_SCOPE)
4144

4245
# NVBench --------------------------------
43-
set(NVBENCH_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/nvbench" PARENT_SCOPE)
44-
4546
if(BUILD_BENCH)
4647
set(NVBench_ENABLE_CUPTI off)
48+
set(BUILD_SHARED_LIBS off)
4749
add_subdirectory(nvbench)
50+
# Because nvbench::main is an object library, cmake<=3.20 doesn't treat it
51+
# like regular libraries, and just creating an cvcuda_nvbench interface
52+
# library that depends on it doesn't work. We need to create an static
53+
# library and pull in the objects created by nvbench::main, as per cmake
54+
# docs.
55+
add_library(cvcuda_nvbench_main STATIC $<TARGET_OBJECTS:nvbench::main>)
56+
target_link_libraries(cvcuda_nvbench_main PUBLIC nvbench::nvbench)
57+
target_include_directories(cvcuda_nvbench_main SYSTEM INTERFACE
58+
${CMAKE_CURRENT_SOURCE_DIR}/nvbench)
59+
add_library(cvcuda::nvbench::main ALIAS cvcuda_nvbench_main)
4860
endif()

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
# SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,7 +23,7 @@ endif()
2323

2424
project(cvcuda
2525
LANGUAGES C CXX
26-
VERSION 0.5.0
26+
VERSION 0.6.0
2727
DESCRIPTION "CUDA-accelerated Computer Vision algorithms"
2828
)
2929

CODE_OF_CONDUCT.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
2+
[//]: # "SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
3+
[//]: # "SPDX-License-Identifier: Apache-2.0"
4+
[//]: # ""
5+
[//]: # "Licensed under the Apache License, Version 2.0 (the 'License');"
6+
[//]: # "you may not use this file except in compliance with the License."
7+
[//]: # "You may obtain a copy of the License at"
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+
16+
117
# Contributor Code of Conduct
218

319
## Overview

CONTRIBUTING.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
1+
2+
[//]: # "SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
3+
[//]: # "SPDX-License-Identifier: Apache-2.0"
4+
[//]: # ""
5+
[//]: # "Licensed under the Apache License, Version 2.0 (the 'License');"
6+
[//]: # "you may not use this file except in compliance with the License."
7+
[//]: # "You may obtain a copy of the License at"
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+
16+
117
# Contributing to CV-CUDA
218

3-
**As of release v0.5.0-beta, CV-CUDA is not accepting outside contribution.**
19+
**As of release v0.6.0-beta, CV-CUDA is not accepting outside contribution.**
420

521
Contributions to CV-CUDA fall into the following categories:
622

@@ -12,7 +28,7 @@ Contributions to CV-CUDA fall into the following categories:
1228
1. To propose a new feature, please file a new feature request
1329
[issue](https://github.com/CVCUDA/CV-CUDA/issues/new/choose). Describe the
1430
intended feature and discuss the design and implementation with the team and
15-
community. NOTE: Currently, as of release v0.5.0-beta, CV-CUDA is not accepting
31+
community. NOTE: Currently, as of release v0.6.0-beta, CV-CUDA is not accepting
1632
outside contribution.
1733
1. To ask a general question, please sumbit a question
1834
[issue](https://github.com/CVCUDA/CV-CUDA/issues/new/choose). If you need

DEVELOPER_GUIDE.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
2+
[//]: # "SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
3+
[//]: # "SPDX-License-Identifier: Apache-2.0"
4+
[//]: # ""
5+
[//]: # "Licensed under the Apache License, Version 2.0 (the 'License');"
6+
[//]: # "you may not use this file except in compliance with the License."
7+
[//]: # "You may obtain a copy of the License at"
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+
16+
117
# CV-CUDA Developer Guide
218

319
## What is CV-CUDA?
@@ -35,7 +51,7 @@ CV-CUDA includes:
3551
| CopyMakeBorder | Creates a border around an image |
3652
| CustomCrop | Crops an image with a given region-of-interest |
3753
| CvtColor | Converts an image from one color space to another |
38-
| DataTypeConvert | Converts an image’s data type with optional scaling |
54+
| DataTypeConvert | Converts an image’s data type, with optional scaling |
3955
| Erase | Erases image regions |
4056
| Find Contours | Extract closed contours from an input binary image |
4157
| FindHomography | Calculates a perspective transform from four pairs of the corresponding points |
@@ -45,6 +61,7 @@ CV-CUDA includes:
4561
| Gaussian Noise | Generates a statistical noise with a normal (Gaussian) distribution |
4662
| Histogram | Provides a grayscale value distribution showing the frequency of occurrence of each gray value. |
4763
| Histogram Equalizer | Allows effective spreading out the intensity range of the image typically used to improve contrast |
64+
| HqResize | Performs advanced resizing supporting 2D and 3D data, tensors, tensor batches, and varshape image batches (2D only). Supports nearest neighbor, linear, cubic, Gaussian and Lanczos interpolation, with optional antialiasing when down-sampling |
4865
| Inpainting | Performs inpainting by replacing a pixel by normalized weighted sum of all the known pixels in the neighborhood |
4966
| Joint Bilateral Filter | Reduces image noise while preserving strong edges based on a guidance image |
5067
| Label | Labels connected regions in an image using 4-way connectivity for foreground and 8-way for background pixels |
@@ -59,7 +76,7 @@ CV-CUDA includes:
5976
| Normalize | Normalizes an image pixel’s range |
6077
| OSD (Polyline Line Text Rotated Rect Segmented Mask) | Displays an overlay on the image of different forms including polyline line text rotated rectangle segmented mask |
6178
| PadStack | Stacks several images into a tensor with border extension |
62-
| PairwiseMatcher | Matches features computed separately (e.g. via the SIFT operator) in two images using the brute force method |
79+
| PairwiseMatcher | Matches features computed separately (e.g. via the SIFT operator) in two images, e.g. using the brute force method |
6380
| PillowResize | Changes the size and scale of an image using python-pillow algorithm |
6481
| RandomResizedCrop | Crops a random portion of an image and resizes it to a specified size. |
6582
| Reformat | Converts a planar image into non-planar and vice versa |

LICENSE.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
2+
[//]: # "SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
3+
[//]: # "SPDX-License-Identifier: Apache-2.0"
4+
[//]: # ""
5+
[//]: # "Licensed under the Apache License, Version 2.0 (the 'License');"
6+
[//]: # "you may not use this file except in compliance with the License."
7+
[//]: # "You may obtain a copy of the License at"
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+
116
Apache License
217

318
Version 2.0, January 2004

0 commit comments

Comments
 (0)