Skip to content

Commit

Permalink
Merge pull request #145 from CVCUDA/feat/milesp/release_0-6-6
Browse files Browse the repository at this point in the history
feat: adding code for release v0.6.0 (beta-4) of CV-CUDA
  • Loading branch information
milesp-nvidia committed Mar 15, 2024
2 parents 8b591a7 + 56d6aea commit 0c6dde3
Show file tree
Hide file tree
Showing 251 changed files with 15,228 additions and 1,970 deletions.
18 changes: 15 additions & 3 deletions 3rdparty/CMakeLists.txt
Expand Up @@ -15,7 +15,10 @@

set(CMAKE_FOLDER 3rdparty)

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

# NVBench --------------------------------
set(NVBENCH_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/nvbench" PARENT_SCOPE)

if(BUILD_BENCH)
set(NVBench_ENABLE_CUPTI off)
set(BUILD_SHARED_LIBS off)
add_subdirectory(nvbench)
# Because nvbench::main is an object library, cmake<=3.20 doesn't treat it
# like regular libraries, and just creating an cvcuda_nvbench interface
# library that depends on it doesn't work. We need to create an static
# library and pull in the objects created by nvbench::main, as per cmake
# docs.
add_library(cvcuda_nvbench_main STATIC $<TARGET_OBJECTS:nvbench::main>)
target_link_libraries(cvcuda_nvbench_main PUBLIC nvbench::nvbench)
target_include_directories(cvcuda_nvbench_main SYSTEM INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/nvbench)
add_library(cvcuda::nvbench::main ALIAS cvcuda_nvbench_main)
endif()
4 changes: 2 additions & 2 deletions CMakeLists.txt
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -23,7 +23,7 @@ endif()

project(cvcuda
LANGUAGES C CXX
VERSION 0.5.0
VERSION 0.6.0
DESCRIPTION "CUDA-accelerated Computer Vision algorithms"
)

Expand Down
16 changes: 16 additions & 0 deletions CODE_OF_CONDUCT.md
@@ -1,3 +1,19 @@

[//]: # "SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
[//]: # "SPDX-License-Identifier: Apache-2.0"
[//]: # ""
[//]: # "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."


# Contributor Code of Conduct

## Overview
Expand Down
20 changes: 18 additions & 2 deletions CONTRIBUTING.md
@@ -1,6 +1,22 @@

[//]: # "SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
[//]: # "SPDX-License-Identifier: Apache-2.0"
[//]: # ""
[//]: # "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."


# Contributing to CV-CUDA

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

Contributions to CV-CUDA fall into the following categories:

Expand All @@ -12,7 +28,7 @@ Contributions to CV-CUDA fall into the following categories:
1. To propose a new feature, please file a new feature request
[issue](https://github.com/CVCUDA/CV-CUDA/issues/new/choose). Describe the
intended feature and discuss the design and implementation with the team and
community. NOTE: Currently, as of release v0.5.0-beta, CV-CUDA is not accepting
community. NOTE: Currently, as of release v0.6.0-beta, CV-CUDA is not accepting
outside contribution.
1. To ask a general question, please sumbit a question
[issue](https://github.com/CVCUDA/CV-CUDA/issues/new/choose). If you need
Expand Down
21 changes: 19 additions & 2 deletions DEVELOPER_GUIDE.md
@@ -1,3 +1,19 @@

[//]: # "SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
[//]: # "SPDX-License-Identifier: Apache-2.0"
[//]: # ""
[//]: # "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."


# CV-CUDA Developer Guide

## What is CV-CUDA?
Expand Down Expand Up @@ -35,7 +51,7 @@ CV-CUDA includes:
| CopyMakeBorder | Creates a border around an image |
| CustomCrop | Crops an image with a given region-of-interest |
| CvtColor | Converts an image from one color space to another |
| DataTypeConvert | Converts an image’s data type with optional scaling |
| DataTypeConvert | Converts an image’s data type, with optional scaling |
| Erase | Erases image regions |
| Find Contours | Extract closed contours from an input binary image |
| FindHomography | Calculates a perspective transform from four pairs of the corresponding points |
Expand All @@ -45,6 +61,7 @@ CV-CUDA includes:
| Gaussian Noise | Generates a statistical noise with a normal (Gaussian) distribution |
| Histogram | Provides a grayscale value distribution showing the frequency of occurrence of each gray value. |
| Histogram Equalizer | Allows effective spreading out the intensity range of the image typically used to improve contrast |
| 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 |
| Inpainting | Performs inpainting by replacing a pixel by normalized weighted sum of all the known pixels in the neighborhood |
| Joint Bilateral Filter | Reduces image noise while preserving strong edges based on a guidance image |
| Label | Labels connected regions in an image using 4-way connectivity for foreground and 8-way for background pixels |
Expand All @@ -59,7 +76,7 @@ CV-CUDA includes:
| Normalize | Normalizes an image pixel’s range |
| 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 |
| PadStack | Stacks several images into a tensor with border extension |
| PairwiseMatcher | Matches features computed separately (e.g. via the SIFT operator) in two images using the brute force method |
| PairwiseMatcher | Matches features computed separately (e.g. via the SIFT operator) in two images, e.g. using the brute force method |
| PillowResize | Changes the size and scale of an image using python-pillow algorithm |
| RandomResizedCrop | Crops a random portion of an image and resizes it to a specified size. |
| Reformat | Converts a planar image into non-planar and vice versa |
Expand Down
15 changes: 15 additions & 0 deletions LICENSE.md
@@ -1,3 +1,18 @@

[//]: # "SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
[//]: # "SPDX-License-Identifier: Apache-2.0"
[//]: # ""
[//]: # "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."

Apache License

Version 2.0, January 2004
Expand Down

0 comments on commit 0c6dde3

Please sign in to comment.