I was wondering why, while most headers are in include/opencv2/<module>/
or include/opencv2/<module>/<hal|utils|detail>
, cuda and opencl headers are expected to be in src/cuda
and src/opencl
respectively. Furthermore both the .cu
sources and the .hpp
headers for cuda are expected to be in src/cuda
, which doesn't necessarily seem like a very good directory structure.
Additionally some of the headers that are cuda related may need to be included by projects using the module, but with those headers being in src/cuda
rather than include/opencv2/module/cuda
, one would need to add that path explicitly to be able to include those headers (unless I am missing something and src/cuda
headers are being added somehow.