1

Windowsとubuntuで使用GaussianBlurしていますが、ubuntuのリリースモードの時間は、Windowsのデバッグモードとほぼ同じですか?

vs2017 リリースおよびデバッグ モードで、/openmp /fp:fast /sdl- /permissive- /Gy /Oi /arch:AVX2 /O2 /Ot /MD を開きます。

そして、ubuntu 16.04 で opencv3.4.0 ビルド:

cmake -D WITH_TBB=ON -D WITH_OPENMP=ON -D WITH_IPP=ON -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_EXAMPLES=OFF -D WITH_NVCUVID=ON -D WITH_CUDA=ON -D BUILD_DOCS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=オフ -D WITH_CSTRIPES=オン -D WITH_OPENCL=オン CMAKE_INSTALL_PREFIX=/usr/local/ ..

メイクファイル:

CC = g++
OPENCV_INC_PATH := ./opencv-3.4.0/include
OPENCV_LIB_PATH := ./opencv-3.4.0/build/lib
OBJS = edgeBlend.o
LIBS = edgeBlend.so
INCLUDE_PATH := -I ${OPENCV_INC_PATH}
LIB_PATH := -L ${OPENCV_LIB_PATH}

CXXFLAGS := ${INCLUDE_PATH} ${LIB_PATH} -Wall -O2 -std=c++11 -fPIC -march=native -ffast-math -fopenmp
LD_FLAGS := -lopencv_core -lz -lrt -ldl -lm -lpthread -ljpeg -ltiff -lpng -lopnecv_imgproc

all : $(LIB)
%.o : %.cpp
        $(CC) $(CXXFLAGS) -c $< -o $(@)
$(LIB) : $(OBJS)
        rm -f $(@)
        $(CC) $^ -shared -o $(@) ${LIB_PATH} ${LD_FLAGS}
        rm -f $(OBJS)
clean:
        rm -f $(OBJS) $(LIB) 

以下は私のコードです。画像サイズは640 * 480 * 3です:

double start = cv::getTickCount();

cv::GaussianBlur(img_cont, edge_gau, Size(3, 3), 0.8);

cv::GaussianBlur(img_back, img_gau, Size(3, 3), 0.8);

double end = cv::getTickCount();

double time = (end - start) / cv::getTickFrequency();

ウィンドウズ:

デバッグ コスト時間: 0.02 秒

解放コスト時間:0.005秒

Ubuntu:

解放コスト時間:0.02秒

4

1 に答える 1