Opencv step by step - ROI
什么是ROI?ROI就是region of interest
,就是你感兴趣的图像部分,在图像处理中,可能同时要处理多个ROI。
Opencv有ROI的API,但是只能同时处理一个(书本上说的,未验证)。
下面给出一个实例:
#include <cv.h>
#include <highgui.h> int main(int argc,char **argv)
{ /*
* CVAPI(IplImage*) cvLoadImage( const char* filename,
int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR)); //dst(mask) = src(mask) + value
CVAPI(void) cvAddS( const CvArr* src, CvScalar value, CvArr* dst,
const CvArr* mask CV_DEFAULT(NULL)); */
IplImage *src = cvLoadImage(argv[1],1); cvNamedWindow("image input");
cvNamedWindow("image output");
cvShowImage("image input", src); cvSetImageROI(src,cvRect(100,100,100,100));
cvAddS(src, cvScalar(100), src);
cvResetImageROI(src);
cvShowImage("image output", src); cvWaitKey(); cvReleaseImage(&src);
cvDestroyWindow("image input");
cvDestroyWindow("image output"); return 0;
}
关键函数是 cvSetImageROI(src,cvRect(100,100,100,100));
这里在100,100像素点开始,设置了100,100的大小作为ROI。
效果如下:
可以看到右边出现了一个较蓝色的块。
cvAddS(src, cvScalar(100), src); 就是起的这个作用。
为什么是蓝色的呢?
让我们将cvAddS(src, cvScalar(100), src);换成这一行试试看:
cvAddS(src, CV_RGB(100,0,0), src);
蛤蛤,变红色了,再看一下它的定义:
这样就明白了吧。只有蓝色的原因是只设置到了b=100,g和r都是0。.
还有一个重要的一点,一定要使用cvResetImageROI,不然图像一直会在这个牢笼中无法自拔,变成这个样子:
上面提到:
Opencv有ROI的API,但是只能同时处理一个
如果要批量处理的话,还是建议使用手动的方法吧(直接操作像素,你懂的)。
Opencv step by step - ROI的更多相关文章
- Step by step Dynamics CRM 2011升级到Dynamics CRM 2013
原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...
- Step by Step 创建一个新的Dynamics CRM Organization
原创地址:http://www.cnblogs.com/jfzhu/p/4012833.html 转载请注明出处 前面演示过如何安装Dynamics CRM 2013,参见<Step by st ...
- Step by step Install a Local Report Server and Remote Report Server Database
原创地址:http://www.cnblogs.com/jfzhu/p/4012097.html 转载请注明出处 前面的文章<Step by step SQL Server 2012的安装 &g ...
- Step by step Dynamics CRM 2013安装
原创地址:http://www.cnblogs.com/jfzhu/p/4008391.html 转载请注明出处 SQL Server可以与CRM装在同一台计算机上,也可安装在不同的计算机上.演示 ...
- Step by step 活动目录中添加一个子域
原创地址:http://www.cnblogs.com/jfzhu/p/4006545.html 转载请注明出处 前面介绍过如何创建一个域,下面再介绍一下如何在该父域中添加一个子域. 活动目录中的森林 ...
- SQL Server 维护计划实现数据库备份(Step by Step)(转)
SQL Server 维护计划实现数据库备份(Step by Step) 一.前言 SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server ...
- 转:eclipse以及step into step over step return的区别
首先来讲一下step into step over step return的区别: step into就是单步执行,遇到子函数就进入并且继续单步执行:(F5) step over是在单步执行时,在函数 ...
- [转]Bootstrap 3.0.0 with ASP.NET Web Forms – Step by Step – Without NuGet Package
本文转自:http://www.mytecbits.com/microsoft/dot-net/bootstrap-3-0-0-with-asp-net-web-forms In my earlier ...
- EF框架step by step(7)—Code First DataAnnotations(2)
上一篇EF框架step by step(7)—Code First DataAnnotations(1)描述了实体内部的采用数据特性描述与表的关系.这一篇将用DataAnnotations描述一下实体 ...
- EF框架step by step(6)—处理实体complex属性
上一篇的中介绍过了对于EF4.1框架中,实体的简单属性的处理 这一篇介绍一下Code First方法中,实体Complex属性的处理.Complex属性是将一个对象做为另一个对象的属性.映射到数据库中 ...
随机推荐
- linux 2>&1
2>&1就是用来将标准错误2重定向到标准输出1中的.此处1前面的&就是为了让bash将1解释成标准输出而不是文件1.至于最后一个&,则是让bash在后台执行 例如:/us ...
- TOMCAT报错:HTTP Status 404 -
构建struts2工程师,tomcat报错: HTTP Status 404 - type Status report message description The requested resour ...
- CityEngine Web Scene如何在IIS下部署 [转]
CityEngine2012新增了发布Web场景的功能,可以通过本地的Web Scene Viewer打开,也可以发布到ArcGIS Online云端进行共享.如下图: 注:3ws场景包制作方法: ...
- Android开发之 Android应用程序详细解析
我们继续的沿用上一篇所建立的应用. Android应用程序可以分为:应用程序源代码(.java),应用程序描述文件(.xml),各种资源. 可以这么理解: 安卓应用程序,通过java代码来实现其业务逻 ...
- 解决ubuntu sudo not found command的问题
将/etc/sudoers 中Defaults env_reset改成Defaults !env_reset取消掉对PATH变量的重置, 然后在/etc/bash.bashrc中最后添加alias s ...
- hadooop 配置多网卡 提供跨网段服务
http://hortonworks.com/blog/multihoming-on-hadoop-yarn-clusters/ https://hadoop.apache.org/docs/r2.6 ...
- Java zip and unzip demo
目录结构如下: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import ...
- Memcached内存分配优化及使用问题
前几天做了个Memcached的思考,并测试了一些数据,是关于如何提高Memcached内存使用率的问题.在启动memcached的时候可以加-f参数和-n参数.-f指定各slab里面chunk大小的 ...
- 【读书笔记《Android游戏编程之从零开始》】20.游戏开发基础(游戏数据存储)
对于数据的存储,Android 提供了4种保存方式. (1)SharedPreference 此方法适用于简单数据的保持,文如其名,属于配置性质的保存,不适合比较大的情况,默认存放在手机内存里 (2) ...
- 如何修改myeclipse 内存,eclipse.ini中各个参数的作用。
修改MyEclipse/eclipse文件夹中配置文件eclipse.ini中的内存分配就哦了 =================================== 一般的ini文件设置主要包括以下 ...