/*M///////////////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
//
// By downloading, copying, installing or using the software you agree to this license.
// If you do not agree to this license, do not download, install,
// copy or use the software.
//
//
// License Agreement
// For Open Source Computer Vision Library
//
// Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
// Copyright (C) 2009, Willow Garage Inc., all rights reserved.
// Copyright (C) 2013, OpenCV Foundation, all rights reserved.
// Third party copyrights are property of their respective owners.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// * Redistribution's of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// * Redistribution's in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// * The name of the copyright holders may not be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// This software is provided by the copyright holders and contributors "as is" and
// any express or implied warranties, including, but not limited to, the implied
// warranties of merchantability and fitness for a particular purpose are disclaimed.
// In no event shall the Intel Corporation or contributors be liable for any direct,
// indirect, incidental, special, exemplary, or consequential damages
// (including, but not limited to, procurement of substitute goods or services;
// loss of use, data, or profits; or business interruption) however caused
// and on any theory of liability, whether in contract, strict liability,
// or tort (including negligence or otherwise) arising in any way out of
// the use of this software, even if advised of the possibility of such damage.
//
//M*/
#ifndef OPENCV_CORE_C_H
#define OPENCV_CORE_C_H
#include "opencv2/core/types_c.h"
#ifdef __cplusplus
/* disable MSVC warning C4190 / clang-cl -Wreturn-type-c-linkage:
'function' has C-linkage specified, but returns UDT 'typename'
which is incompatible with C
It is OK to disable it because we only extend few plain structures with
C++ constructors for simpler interoperability with C++ API of the library
*/
# if defined(__clang__)
// handle clang on Linux and clang-cl (i. e. clang on Windows) first
# pragma GCC diagnostic ignored "-Wreturn-type-c-linkage"
# elif defined(_MSC_VER)
// then handle MSVC
# pragma warning(disable:4190)
# endif
#endif
#ifdef __cplusplus
extern "C" {
#endif
/** @addtogroup core_c
@{
*/
/****************************************************************************************\
* Array allocation, deallocation, initialization and access to elements *
\****************************************************************************************/
/** `malloc` wrapper.
If there is no enough memory, the function
(as well as other OpenCV functions that call cvAlloc)
raises an error. */
CVAPI(void*) cvAlloc( size_t size );
/** `free` wrapper.
Here and further all the memory releasing functions
(that all call cvFree) take double pointer in order to
to clear pointer to the data after releasing it.
Passing pointer to NULL pointer is Ok: nothing happens in this case
*/
CVAPI(void) cvFree_( void* ptr );
#define cvFree(ptr) (cvFree_(*(ptr)), *(ptr)=0)
/** @brief Creates an image header but does not allocate the image data.
@param size Image width and height
@param depth Image depth (see cvCreateImage )
@param channels Number of channels (see cvCreateImage )
*/
CVAPI(IplImage*) cvCreateImageHeader( CvSize size, int depth, int channels );
/** @brief Initializes an image header that was previously allocated.
The returned IplImage\* points to the initialized header.
@param image Image header to initialize
@param size Image width and height
@param depth Image depth (see cvCreateImage )
@param channels Number of channels (see cvCreateImage )
@param origin Top-left IPL_ORIGIN_TL or bottom-left IPL_ORIGIN_BL
@param align Alignment for image rows, typically 4 or 8 bytes
*/
CVAPI(IplImage*) cvInitImageHeader( IplImage* image, CvSize size, int depth,
int channels, int origin CV_DEFAULT(0),
int align CV_DEFAULT(4));
/** @brief Creates an image header and allocates the image data.
This function call is equivalent to the following code:
@code
header = cvCreateImageHeader(size, depth, channels);
cvCreateData(header);
@endcode
@param size Image width and height
@param depth Bit depth of image elements. See IplImage for valid depths.
@param channels Number of channels per pixel. See IplImage for details. This function only creates
images with interleaved channels.
*/
CVAPI(IplImage*) cvCreateImage( CvSize size, int depth, int channels );
/** @brief Deallocates an image header.
This call is an analogue of :
@code
if(image )
{
iplDeallocate(*image, IPL_IMAGE_HEADER | IPL_IMAGE_ROI);
*image = 0;
}
@endcode
but it does not use IPL functions by default (see the CV_TURN_ON_IPL_COMPATIBILITY macro).
@param image Double pointer to the image header
*/
CVAPI(void) cvReleaseImageHeader( IplImage** image );
/** @brief Deallocates the image header and the image data.
This call is a shortened form of :
@code
if(*image )
{
cvReleaseData(*image);
cvReleaseImageHeader(image);
}
@endcode
@param image Double pointer to the image header
*/
CVAPI(void) cvReleaseImage( IplImage** image );
/** Creates a copy of IPL image (widthStep may differ) */
CVAPI(IplImage*) cvCloneImage( const IplImage* image );
/** @brief Sets the channel of interest in an IplImage.
If the ROI is set to NULL and the coi is *not* 0, the ROI is allocated. Most OpenCV functions do
*not* support the COI setting, so to process an individual image/matrix channel one may copy (via
cvCopy or cvSplit) the channel to a separate image/matrix, process it and then copy the result
back (via cvCopy or cvMerge) if needed.
@param image A pointer to the image header
@param coi The channel of interest. 0 - all channels are selected, 1 - first channel is selected,
etc. Note that the channel indices become 1-based.
*/
CVAPI(void) cvSetImageCOI( IplImage* image, int coi );
/** @brief Returns the index of the channel of interest.
Returns the channel of interest of in an IplImage. Returned values correspond to the coi in
cvSetImageCOI.
@param image A pointer to the image header
*/
CVAPI(int) cvGetImageCOI( const IplImage* image );
/** @brief Sets an image Region Of Interest (ROI) for a given rectangle.
If the original image ROI was NULL and the rect is not the whole image, the ROI structure is
allocated.
Most OpenCV functions support the use of ROI and treat the image rectangle as a separate image. For
example, all of the pixel coordinates are counted from the top-left (or bottom-left) corner of the
ROI, not the original image.
@param image A pointer to the image header
@param rect The ROI rectangle
*/
CVAPI(void) cvSetImageROI( IplImage* image, CvRect rect );
/** @brief Resets the image ROI to include the entire image and releases the ROI structure.
This produces a similar result to the following, but in addition it releases the ROI structure. :
@code
cvSetImageROI(image, cvRect(0, 0, image->width, image->height ));
cvSetImageCOI(image, 0);
@endcode
@param image A pointer to the image header
*/
CVAPI(void) cvResetImageROI( IplImage* image );
/** @brief Returns the image ROI.
If there is no R
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
在开发图像处理和计算机视觉应用程序时,Qt 和 OpenCV 的结合使用可以提供强大的开发环境。Qt 提供了丰富的用户界面组件和开发工具,而 OpenCV 提供了广泛的图像处理功能。一个好的模板工程可以帮助开发者快速开始项目,避免重复设置环境和编写常见代码的工作。 Qt OpenCV 模板工程介绍 模板工程通常包括以下几个部分: 项目配置文件: CMakeLists.txt 或 Qt 的 .pro 文件,其中包含了项目所需的所有依赖项和编译设置。 配置文件应该预先设置好 OpenCV 库的路径,以及其他可能需要的库。 源代码目录: 包含主要的应用程序逻辑,如窗口类、图像处理函数等。 通常会有一个主窗口类,它负责创建界面和响应用户操作。 资源文件: 包含应用程序可能需要的所有资源,如图标、图片和样式表。 这些资源在编译时会被包含在应用程序中。 文档和示例: 提供足够的文档来说明如何使用模板,包括如何设置环境、如何编译和运行。 包含一些简单的示例代码,展示如何使用 Qt 和 OpenCV 进行基本的图像处理。 测试: 包含一些预先编写的测试用例,以确保 OpenCV 功能正常工作。
资源推荐
资源详情
资源评论
收起资源包目录
Qt Opencv使用模板 (961个子文件)
main.cpp 182B
Makefile.Debug 29KB
template.exe 66KB
core_c.h 126KB
msa_macros.h 81KB
types_c.h 69KB
kmeans_index.h 66KB
imgproc_c.h 50KB
dist.h 40KB
cvdef.h 35KB
cv_cpu_helper.h 33KB
constants_c.h 30KB
hierarchical_clustering_index.h 26KB
autotuned_index.h 21KB
kdtree_single_index.h 20KB
kdtree_index.h 20KB
lsh_table.h 18KB
types_c.h 18KB
lsh_index.h 15KB
result_set.h 15KB
index_testing.h 11KB
highgui_c.h 10KB
any.h 9KB
cv_cpu_dispatch.h 8KB
hdf5.h 7KB
heap.h 7KB
allocator.h 6KB
all_indices.h 6KB
composite_index.h 6KB
nn_index.h 6KB
saving.h 6KB
simplex_downhill.h 6KB
videoio_c.h 6KB
calib3d_c.h 5KB
cap_ios.h 5KB
interface.h 5KB
dynamic_bitset.h 4KB
defines.h 4KB
params.h 4KB
random.h 4KB
logger.h 4KB
linear_index.h 4KB
matrix.h 3KB
ground_truth.h 3KB
cvconfig.h 3KB
object_factory.h 3KB
sampling.h 3KB
ios.h 3KB
timer.h 3KB
general.h 2KB
config.h 2KB
constants_c.h 2KB
interface.h 1KB
macosx.h 731B
interface.h 551B
constants_c.h 462B
constants_c.h 398B
dummy.h 197B
imgcodecs_c.h 145B
intrin_rvv_010_compat_non-policy.hpp 1.72MB
imgproc.hpp 251KB
calib3d.hpp 220KB
color_detail.hpp 219KB
mat.hpp 162KB
intrin_avx512.hpp 157KB
core.hpp 154KB
intrin_sse.hpp 132KB
intrin_avx.hpp 131KB
intrin_rvv071.hpp 126KB
intrin_lasx.hpp 122KB
intrin_wasm.hpp 107KB
intrin_rvv.hpp 105KB
intrin_lsx.hpp 104KB
intrin_cpp.hpp 101KB
intrin_neon.hpp 98KB
dnn.hpp 95KB
intrin_rvv_scalable.hpp 95KB
ml.hpp 90KB
mat.inl.hpp 87KB
intrin_rvv_010_compat_overloaded-non-policy.hpp 82KB
core.hpp 78KB
imgproc.hpp 78KB
types.hpp 71KB
features2d.hpp 71KB
intrin_msa.hpp 71KB
videoio.hpp 68KB
intrin_vsx.hpp 66KB
quaternion.hpp 65KB
opencl_clblas.hpp 63KB
vsx_utils.hpp 51KB
cuda.hpp 50KB
intrin.hpp 49KB
vec_math.hpp 49KB
persistence.hpp 46KB
tracking.hpp 43KB
objdetect.hpp 42KB
sse_utils.hpp 41KB
all_layers.hpp 39KB
utility.hpp 39KB
photo.hpp 37KB
共 961 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
人才程序员
- 粉丝: 7754
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功