/*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
# ifdef _MSC_VER
/* disable warning C4190: '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
*/
# pragma warning(disable:4190)
# elif defined __clang__ && __clang_major__ >= 3
# pragma GCC diagnostic ignored "-Wreturn-type-c-linkage"
# 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)
opencv4.5.5编译好的目录
需积分: 0 201 浏览量
更新于2024-01-14
收藏 104.08MB ZIP 举报
使用环境:windows,qt5.14.2,opencv4.5.5
已经编译好了,在qt工程中配置就可使用,编译器得是msvc才行,MinGW不管用
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
bangtan辉
- 粉丝: 124
- 资源: 6
最新资源
- 基于元胞自动机的定向凝固模拟与金属凝固相场模拟:探讨微观组织演变与温度场耦合的研究,模拟文章核心部分:温度场、相场与溶质场的耦合模拟及其在元胞自动机、定向凝固和合金凝固中的应用分析,元胞自动机模拟,定
- 操作同花顺下单客户端下单支持(网上股票交易系统5.0)
- MPPT太阳能充电控制Matlab Simulink仿真模型搭建:原理结构、波形记录与参数详解,MPPT太阳能充电控制Matlab Simulink仿真模型搭建指南:波形记录、文献参考与原理详解,MP
- 电气安装工程施工图册-北京市建筑工程局,北京供电局编-10248061.pdf
- JESD79-5C.01-v1.31 DDR5
- Video-2024-11-02下午-文件传输思路2.wmv
- Java 面经手册,全书共计 5 章 29 节,417页11.5万字,耗时 4 个月完成 涵盖数据结构、算法逻辑、并发编程、JVM以及简历和互联网大厂面试等内容
- COMSOL手性多极子分解:原理、应用与计算技术探讨,手性多极子分解的深入研究与COMSOL模拟应用,comsol手性多极子分解 ,comsol;手性;多极子;分解,Comsol手性多极子分解技术
- 基于Yolov5与Vitis AI的模型量化及系统搭建实现食物识别在Xilinx平台上的优化应用,基于Yolov5模型的食物识别技术及其在Xilinx系统上的优化实践:模型量化编译与系统搭建之路,基于
- comsol拓扑光子晶体中的单向传输特性及其应用研究,COMSOL软件中的拓扑光子晶体实现单向传输的技术特性探究,comsol拓扑光子晶体单向传输 ,comsol; 拓扑; 光子晶体; 单向传输,Co
- 基于模糊逻辑与递推最小二乘的整车质量估计优化算法:Simulink模型实现与置信度评估,基于模糊逻辑与递推最小二乘的整车质量估计优化算法-trucksim联合仿真模型应用,整车质量估计算法,采用si
- 基于西门子PLC1200的钢板恒张力放卷收卷系统:六重要求下的精准控制与防交错策略,基于西门子PLC1200的钢板恒张力放卷收卷系统设计与实施:精确控制,确保六种要求精准执行,基于西门子PLC1200
- XR3DI Rendering Engine - Spectral Edition 2.12 光谱渲染器
- C#全面解析:与西门子Smart200 PLC的Modbus通讯项目实战,结合SQL Server数据库链接,完整例程与高清视频教学,附赠测试工具,C#上位机项目完整案例:Smart200 PLC M
- 工具变量-地级市数字关注度数据及城市数字经济关注度指标(2003-2024年).txt
- 电机转子硬线圈计算程序:高效、精确的电磁设计工具,电机转子硬线圈计算程序:高效、精确的电磁设计工具,电机转子硬线圈计算程序 ,电机转子; 硬线圈; 计算程序,电机转子硬线圈计算程序优化版