OpenCv函数学习(一)[建议收藏]

IntelImageProcessingLibrary(IPL)位深度在记录数字图像的颜色时,计算机实际上是用每个像素需要的位深度来表示的。黑白二色的图像是数字图像中最简单的一种,它只有黑

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

Intel Image Processing Library (IPL)

 1 typedef struct _IplImage
 2 {
 3 int nSize; /* IplImage大小 */
 4 int ID; /* 版本 (=0)*/
 5 int nChannels; /* 大多数OPENCV函数支持1,2,3 或 4 个通道 */
 6 int alphaChannel; /* 被OpenCV忽略 */
 7 int depth; /* 像素的位深度,主要有以下支持格式: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16U,IPL_DEPTH_16S, IPL_DEPTH_32S,
 8 IPL_DEPTH_32F 和IPL_DEPTH_64F */
 9 char colorModel[4]; /* 被OpenCV忽略 */
10 char channelSeq[4]; /* 同上 */
11 int dataOrder; /* 0 - 交叉存取颜色通道, 1 - 分开的颜色通道. cvCreateImage只可以创建交叉存取图像 */
13 int origin; /*图像原点位置: 0表示顶-左结构,1表示底-左结构 */
14 int align; /* 图像行排列方式 (4 or 8),在 OpenCV 被忽略,使用 widthStep 代替 */
15 int width; /* 图像宽像素数 */
16 int height; /* 图像高像素数*/
17 struct _IplROI *roi; /* 图像感兴趣区域,当该值非空时,只对该区域进行处理 */
19 struct _IplImage *maskROI; /* 在 OpenCV中必须为NULL */
20 void *imageId; /* 同上*/
21 struct _IplTileInfo *tileInfo; /*同上*/
22 int imageSize; /* 图像数据大小(在交叉存取格式下ImageSize=image->height*image->widthStep),单位字节*/
23 char *imageData; /* 指向排列的图像数据 */
24 int widthStep; /* 排列的图像行大小,以字节为单位 */
25 int BorderMode[4]; /* 边际结束模式, 在 OpenCV 被忽略*/
26 int BorderConst[4]; /* 同上 */
27 char *imageDataOrigin; /* 指针指向一个不同的图像数据结构(不是必须排列的),是为了纠正图像内存分配准备的 */
28 } IplImage;

位深度

在记录数字图像的颜色时,计算机实际上是用每个像素需要的位深度来表示的。黑白二色的图像是数字图像中最简单的一种,它只有黑、白两种颜色,也就是说它的每个像素只有1位颜色,位深度是1,用2的一次幂来表示;考虑到位深度平均分给R, G, B和Alpha,而只有RGB可以相互组合成颜色。所以4位颜色的图,它的位深度是4,只有2的4次幂种颜色,即16种颜色或16种灰度等级 ) 。8位颜色的图,位深度就是8,用2的8次幂表示,它含有256种颜色 ( 或256种灰度等级 )。24位颜色可称之为真彩色,位深度是24,它能组合成2的24次幂种颜色,即:16777216种颜色 ( 或称千万种颜色 ),超过了人眼能够分辨的颜色数量。当我们用24位来记录颜色时,实际上是以2^(8×3),即红、绿、蓝 ( RGB ) 三基色各以2的8次幂,256种颜色而存在的,三色组合就形成一千六百万种颜色。

CvLoadImage

IplImage* CvLoadImage(const char *cFileName, int flags)

CvLoadImage(cFileName, -1); // 默认读取图像的原通道数

CvLoadImage(cFileName, 0);  // 强制转化读取图像为灰度图

CvLoadImage(cFileName, 1);  // 读取彩色图

CvCloneImage

IplImage* CvCloneImage(const IplImage *p)

在使用函数之前,不用特地开辟内存,即该函数会自己开一段内存,然后复制好image里面的数据,然后把这段内存中的数据返回.

CreateCvImage

IplImage* cvCreateImage(CvSize size, int depth, int channels)

作用申请一个图片结构大小的内存,比如创建灰色图像

IplImage *pGraycvImage = cvCreateImage(cvGetSize(pSrc_Image), 8, 1);

cvCvtColor(pSrc_Image,pGraycvImage ,CV_BGR2GRAY);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120250.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java集合List去重的几种方式「建议收藏」

    Java集合List去重的几种方式「建议收藏」1、使用LinkedHashSet删除arraylist中的重复数据LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 删除重复数据 保持添加到其中的数据的顺序 Java示例使用LinkedHashSet删除arraylist中的重复项。在给定的示例中,numbersList是包含整数的arraylist,其中一些是重复的数字。例如1,3和5.我们将列表添加到LinkedHashSet,然后将内容返回到列表中。

    2022年5月9日
    424
  • 字符串全排列cpp_输出字符串的全排列

    字符串全排列cpp_输出字符串的全排列String对象描述字符串是JavaScript的一种基本的数据类型String类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。需要注意的是:JavaScript的字符串是不可变的(immutable),String类定义的方法都不能改变字符串的内容。像String.toUpperCase()这样的方法,返回的是全新的字符串,而不是修改原始字符串。String对象属性属性描述constructor对创建该对象的函数的引用

    2025年6月20日
    3
  • Springboot整合一之Springboot整合RabbitMQ

    Springboot整合一之Springboot整合RabbitMQ目前,springboot已然成为了最热的java开发整合框架,主要是因其简单的配置,并且本身提供了很多与第三方框架的整合,甚至可以让我们在短短的几分钟里就可以搭建一个完整的项目架构。所以,博主打算近期写一些springboot整合案例,也不知道先写哪个,那就从最近的写起吧, 言归正传。。。…

    2022年5月15日
    40
  • 用python画爱心-怎么用python实现画爱心

    用python画爱心-怎么用python实现画爱心Python中可以使用turtle库来画图,通过控制画笔运动来实现在画布上画图案。使用Python画爱心代码如下:#!/usr/bin/envpython#-*-coding:utf-8-*-importturtleimporttime#画心形圆弧defhart_arc():foriinrange(200):turtle.right(1)turtle.forward(2)de…

    2025年9月27日
    2
  • 嵌入式软件工程师待遇怎么样

    嵌入式软件工程师待遇怎么样本来大家选择嵌入式也就是冲着嵌入式的发展前景不错而来,所以在嵌入式这块还是有很多不知道的知识,这些也都要等着老师去给你讲解了,下面先来了解下嵌入式软件工程师待遇怎么样吧。嵌入式软件工程师待遇怎么样:1、应届毕业生如果你是在一线城市的话,有人带你,你自己有比较学的好,那么你的薪资待遇就可以达到6k+,但是不同公司不同待遇,而且不同地区不同的薪资待遇,就像北上广,这些地区薪资待遇是比其他地区高出2k以上,甚至更高的。就像人家阿里,那工资肯定就比其他公司要高的多。所以得看你要去什么地方发展了,但是平均

    2022年9月14日
    3
  • 阿里云域名申请ssl证书_阿里云认证证书

    阿里云域名申请ssl证书_阿里云认证证书

    2022年9月28日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号