openCV基础函数【转】

cvLoadImage()
顾名思义,就是载入图片的意思,它的使用方法为
IplImage* cvLoadImage("档案名称",参数);
参数的部份可以参考命名规则的说明,回传的讯息是IplImage资料结构,它的参数分类有

#define CV_LOAD_IMAGE_UNCHANGED -1原图影像
#define CV_LOAD_IMAGE_GRAYSCALE 0灰阶
#define CV_LOAD_IMAGE_COLOR 1彩色
#define CV_LOAD_IMAGE_ANYDEPTH 2任何彩度
#define CV_LOAD_IMAGE_ANYCOLOR 4任何彩色

原始影像如果是灰阶图的话会因为档案格式的关系而不可能变成彩色,但彩色图片却可以任意变成灰阶,参数的部份可以用大写英文或数字来替代.

cvNamedWindow()
这个副程式,是给视窗化介面命名的副程式,用法如下
cvNamedWindow("视窗名称",参数);
而它的参数实质上只有一个

#define CV_WINDOW_AUTOSIZE 1自动调整图形大小

AUTOSIZE可以让图片便成原图大小,也就是图形维度不做调整,但是图片太大很容易造成困扰,就如RainMan,维度为1200*1600,会造成图片占据了整个萤幕的版面.如果要微调就要用到cvResizeWindow()这个函式,但是,cvNamedWindow()不能设成1(CV_WINDOW_AUTOSIZE),务必将参数设为0或其他非1的数字.

cvMoveWindow()
移动GUI视窗到"萤幕座标"上的位置.当我们移动滑鼠时,实际上是在Windows作业系统底下的座标轴在变换,这个函式可以将做出来的GUI视窗以右上角为准移动到指定萤幕座标的地方.使用方法:
cvMoveWindow("视窗名称",萤幕X轴数字,萤幕Y轴数字);

cvResizeWindow()
将视窗作缩放的动作,图片将会等比例的变换,但cvNamedWindow()参数必须设为非1.
cvResizeWindow("视窗名称",缩放宽度,缩放高度);

cvGetWindowHandle()
一个视窗所产生的ID,当我们创立一个视窗的时候,作业系统个随机给予一个视窗ID,每次重新打开这个ID都会不一样,可以把它视为纯数字,不过,通常都是用(void *)资料型态来设立,这边就是用视窗名称来找视窗ID
cvGetWindowHandle("视窗名称");

cvGetWindowName()
用ID来反查视窗名称.
cvGetWindowName(视窗ID);

cvShowImage()
顯視圖片.
cvShowImage("視窗名稱",IplImage資料結構或CvArr資料結構);

cvWaitKey()
键盘事件,秀出图形必备,这边如果有开启cvShowImage()的话,就必须要用到cvWaitKey(),而不能用"stdlib.h"里的system("pause")取代,cvWaitKey()是专门在在OpenCV专用的GUI介面底下等待键盘命令的,而不是在黑白环境下的命令提示字元,键盘事件有两种,阻断式(block)的跟非阻断式(unblock)的可以在作业系统原理的相关书籍读到,阻断式的就是cvWaitKey(0),它会一直等待到键盘事件发生为止,另一种就是在里面输入大于零的数字cvWaitKey(10),它将会等到10毫秒后自动输出-1,代表10毫秒内没接收到键盘敲击事件,因此,典型的副程式表示法为
cvWaitKey(数字);

cvDestroyWindow()
清除视窗记忆体
cvDestroyWindow("视窗名称')

cvReleaseImage()
清除IplImage图形资料结构记忆体
cvReleaseImage(IplImage资料结构名称)

cvCreateTrackbar()
创立一个Trackbar在目标视窗上,起始值从0开始,而Trackbar指标开始的位置跟Trackbar最大值要自己设定,再给他一个可控制的事件名称,此Trackbar事件可自由命名,但是务必要让他输入一个int型别的变数如:void xxx(int position).
cvCreateTrackbar("Trackbar名称","目标视窗名称",指标开始数值,Trackbar最大值,Trackbar事件副程式名称);

cvGetTrackbarPos()
检视Trackbar的位置,需要给它Trackbar的名称,目标视窗名称.
int cvGetTrackbarPos("Trackbar名称","目标视窗名称");

cvSetTrackbarPos()
重新设定Trackbar的位置,需要给它Trackbar的名称,目标视窗名称.
cvGetTrackbarPos("Trackbar名称","目标视窗名称",新的拉轴位置数据);
cvSize()
初始化CvSize资料结构,放置长跟宽的整数值
CvSize cvSize(宽的数值,高的数值);

cvCreateImage()
初始化IplImage资料结构,创造一个空白的图片基本的格式,格式内容可参考命名规则,再给他通道数(二维阵列的数目).
cvCreateImage(CvSize资料结构,IPL_DEPTH_系列参数,通道数);

cvThreshold()
此为演算法功能之ㄧ ,跟门槛值相关的演算法搜集的副程式,第一个引数为输入图,第二个引数为计算结果的图,再来是门槛最大值,二值化门槛值参数.
cvThreshold(原始图形IplImage资料结构,计算后结果IplImage资料结构,门槛值,最大门槛值数值,CV_THRESH_BINARY);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值