mirror of
https://github.com/opencv/opencv.git
synced 2025-08-06 06:26:29 +08:00
make imgcodecs optional for highgui
This commit is contained in:
parent
35f1a90df7
commit
0f067fd0a6
@ -1,9 +1,9 @@
|
||||
set(the_description "High-level GUI")
|
||||
|
||||
if(ANDROID)
|
||||
ocv_add_module(highgui opencv_imgproc opencv_imgcodecs OPTIONAL opencv_videoio WRAP python)
|
||||
ocv_add_module(highgui opencv_imgproc OPTIONAL opencv_imgcodecs opencv_videoio WRAP python)
|
||||
else()
|
||||
ocv_add_module(highgui opencv_imgproc opencv_imgcodecs OPTIONAL opencv_videoio WRAP python java)
|
||||
ocv_add_module(highgui opencv_imgproc OPTIONAL opencv_imgcodecs opencv_videoio WRAP python java)
|
||||
endif()
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/cmake/plugin.cmake)
|
||||
|
@ -235,12 +235,15 @@ std::vector<FileSystemPath_t> getPluginCandidates(const std::string& baseName)
|
||||
return results;
|
||||
}
|
||||
|
||||
// NB: require loading of imgcodecs module
|
||||
#ifdef HAVE_OPENCV_IMGCODECS // NB: require loading of imgcodecs module
|
||||
static void* g_imwrite = (void*)imwrite;
|
||||
#endif
|
||||
|
||||
void PluginUIBackendFactory::loadPlugin()
|
||||
{
|
||||
#ifdef HAVE_OPENCV_IMGCODECS
|
||||
CV_Assert(g_imwrite);
|
||||
#endif
|
||||
for (const FileSystemPath_t& plugin : getPluginCandidates(baseName_))
|
||||
{
|
||||
auto lib = std::make_shared<cv::plugin::impl::DynamicLib>(plugin);
|
||||
|
@ -60,8 +60,6 @@
|
||||
#include "opencv2/imgproc/imgproc_c.h"
|
||||
#include "opencv2/highgui/highgui_c.h"
|
||||
|
||||
#include "opencv2/imgcodecs.hpp"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
@ -2132,6 +2132,7 @@ cvDestroyAllWindows(void)
|
||||
|
||||
static void showSaveDialog(CvWindow& window)
|
||||
{
|
||||
#ifdef HAVE_OPENCV_IMGCODECS
|
||||
if (!window.image)
|
||||
return;
|
||||
|
||||
@ -2193,6 +2194,11 @@ static void showSaveDialog(CvWindow& window)
|
||||
cv::flip(cv::Mat(sz.cy, sz.cx, CV_8UC(channels), data, (sz.cx * channels + 3) & -4), tmp, 0);
|
||||
cv::imwrite(szFileName, tmp);
|
||||
}
|
||||
#else
|
||||
CV_UNUSED(window);
|
||||
CV_LOG_WARNING("Save dialog requires enabled 'imgcodecs' module.");
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user