Well, every time I look, opencv/fedora changes how things are packaged. The current state (Dec 04, 2018) is that we have to build ourselves from source code in order to get access to the SIFT functionality.
? gtk2-devel ?
dnf install tbb-devel eigen3-devel doxygen
https://sourceforge.net/projects/opencvlibrary/files
$ cd into source tree $ mkdir build $ cd build
$ git clone https://github.com/opencv/opencv_contrib.git $ cd opencv_contrib $ git checkout X.Y.Z (version matches the opencv version we are building)
$ cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_TBB=ON -DWITH_EIGEN=ON -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -DOPENCV_ENABLE_NONFREE=ON -DPYTHON_DEFAULT_EXECUTABLE=python3 ..
$ make -j4
$ sudo make install
export PYTHONPATH=$PYTHONPATH:/usr/local/python/cv2/python-3.7