OpenCV 入门示例之五:一个复杂点的变换
前言
前文介绍了一个简单的变换。需要注意的是,很多时候,输出和输入图像的格式是不同的( 大小,深度,通道 )。在本文将展示的程序中,对图像进行了缩放( 使用cvPyrDown 函数 ),这种情况下需要先定制好输出图像的格式,然后再将其与输入图像一起传递进缩放函数。
代码示例
// 此头文件包含图像IO函数的声明
#include "highgui.h"
// 此头文件包含基本的图像处理函数和高级计算机视觉算法
#include "cv.h" int main (void) { // 将D盘目录下名为" 1.jpg "的图像加载至内存并获得一个指向该图像内存块的指针img
IplImage * img = cvLoadImage ("D:\\1.jpg"); // 创建一个窗口显示缩放前的图像
cvNamedWindow ("缩放前", CV_WINDOW_AUTOSIZE); // 将图像装载进窗口并显示此窗口
cvShowImage ("缩放前", img); // 定制一个新的图像内存块,以存放缩放结果。
IplImage * out = cvCreateImage (
cvSize (img->width/, img->height/), // 大小为原图的一半
img->depth, // 深度相同
img->nChannels // 通道数相同
); // 该函数实现对图像的缩放功能
cvPyrDown (
img, // 原图像
out // 缩放后的图像( 一定要先创建好了才进入函数 )
); // 创建一个窗口显示缩放后的图像
cvNamedWindow ("缩放后", CV_WINDOW_AUTOSIZE); // 将图像装载进窗口并显示此窗口
cvShowImage ("缩放后", out); // 该函数的参数为 0 时,程序将等待用户触发一个按键操作。
// 若参数为正整数,则程序将暂停该整数个毫秒单位直至用户有任何按键。
cvWaitKey (); // 释放图像内存块
cvReleaseImage (&img);
cvReleaseImage (&out); // 关闭窗口同时释放窗口内存块
cvDestroyWindow ("缩放前");
cvDestroyWindow ("缩放后"); return ;
}
运行测试
1. 将如下测试图片另存到 D 盘,命名为 "1.jpg":

2. 运行结果:


OpenCV 入门示例之五:一个复杂点的变换的更多相关文章
- OpenCV 入门示例之四:一个简单的变换
前言 图像的平滑处理,是计算机视觉中非常重要的操作,本文将展示一个可以对图像进行平滑处理的简单程序.而关于平滑处理深层次的知识,会在以后的文章中重点探讨. 代码示例 // 此头文件包含图像IO函数的声 ...
- OpenCV 入门示例之三:AVI 视频播放控制
前言 在前文中给出了一个非常简短的视频播放程序,但它没有实现常规视频播放器中的播放滚动条功能,本文对此视频播放器程序加以改进,实现此功能. 滚动条的实现思路 滚动条的功能实质上就是从一帧跳跃到另外一帧 ...
- OpenCV 入门示例之二:播放 AVI 视频
前言 本文展示一个播放 AVI 视频的程序.( 呵呵是 AVI 视频不是 AV 视频噢! ) 代码示例 // 此头文件包含图像IO函数的声明 #include "highgui.h" ...
- OpenCV 入门示例之一:显示图像
前言 本文展示一个显示图像的示例程序,它用于从硬盘加载一副图像并在屏幕上显示. 代码示例 // 此头文件包含图像IO函数的声明 #include "highgui.h" int m ...
- 系列文章 -- OpenCV入门教程
<OpenCV3编程入门>内容简介&勘误&配套源代码下载 [OpenCV入门教程之十八]OpenCV仿射变换 & SURF特征点描述合辑 [OpenCV入门教程之 ...
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析(转)
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/20537737 作者:毛星云(浅墨) ...
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨 ...
- opencv ,亮度调整【【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
http://blog.csdn.net/poem_qianmo/article/details/21479533 [OpenCV入门教程之六] 创建Trackbar & 图像对比度.亮度值调 ...
- OpenCV入门指南----人脸检测
本篇介绍图像处理与模式识别中最热门的一个领域——人脸检测(人脸识别).人脸检测可以说是学术界的宠儿,在不少EI,SCI高级别论文都能看到它的身影.甚至很多高校学生的毕业设计都会涉及到人脸检测.当然人脸 ...
随机推荐
- Atcoder CODE FESTIVAL 2017 qual C D - Yet Another Palindrome Partitioning 回文串划分
题目链接 题意 给定一个字符串(长度\(\leq 2e5\)),将其划分成尽量少的段,使得每段内重新排列后可以成为一个回文串. 题解 分析 每段内重新排列后是一个回文串\(\rightarrow\)该 ...
- VS Code开发技巧集锦【转】
转自:http://blog.csdn.net/tiantangyouzui/article/details/52163175 入门 自定义 扩展 文件/文件夹管理 编辑技巧 智能感应功能 代码片段 ...
- Day 32 process&threading_4
线程和进程 4 一.multiprocessing模块 multiprocessing包是Python中的多进程管理包. 与threading.Thread类似,它可以利用multiprocessin ...
- hdu 3072 有向图缩点成最小树形图计算最小权
题意,从0点出发,遍历所有点,遍历边时候要付出代价,在一个SCC中的边不要付费.求最小费用. 有向图缩点(无需建立新图,,n<=50000,建则超时),遍历边,若不在一个SCC中,用一个数组更新 ...
- Android 设置图片倒影效果
首先,贴出效果图: 1.布局文件main.xml <?xml version="1.0" encoding="utf-8"?> <Linear ...
- AC日记——[NOI2006]最大获利 bzoj 1497
1497 思路: 最小割: 来,上代码: #include <cstdio> #include <cstring> #include <iostream> #inc ...
- js中click重复执行
问题背景:在写一个非常简单添加方法的时候,用onclick事件调用添加方法,点击第一次没问题,第二次会重复执行,经过多次查找资料得知这个状况的解决方案,特意总结一下: 代码如下:点击#spec_for ...
- NULL的学问
在数据库中存在一种特殊的值:NULL(空值).一个字段如果没有被赋值,那么它的值就是NULL,NULL并不代表没有值而是表示值未知.员工信息表中存储着身份证号.姓名.年龄等信息,其中某条记录中年龄字段 ...
- Topcoder SRM 664 DIV 1
BearPlays 快速幂 题意: 给你两个数A,B,有种操作是将大的数减去小的数,并将小的数乘以2.反复k次,问你最后的小的数回是多少. 题解: 由于整个过程$A+B$的值是不会改变的.现在令$S= ...
- luogu P1314 聪明的质监员
题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi .检验矿产的流程是: 1 .给定m 个区间[L ...