opencv 从原始的图像中找出ROI区域
http://blog.csdn.net/chentravelling/article/details/45331225
opencv 从原始的图像中找出ROI区域
#include <iostream>
#include <highgui.h>using namespace std;
using namespace cv;int main()
{IplImage *image = cvLoadImage("I:\\OpenCV Learning\\picture\\sumpalace.jpg");cvShowImage("image1",image);//将ROI区域图像保存在image中:左上角x、左上角y、矩形长、宽cvSetImageROI(image,cvRect(200,200,600,200));cvShowImage("imageROI",image);//执行cvSetImageROI()之后显示image图像是只显示ROI标识的一部分,即改变了指针image,//但是它仍旧保留有原来图像的信息,在执行这一句cvResetImageROI(image),之后,image指示原来的图像信息。cvResetImageROI(image);cvShowImage("image2",image);cvWaitKey(0);return 0;
}
http://www.cnblogs.com/ronny/p/opencv_road_4.html
不均匀直方图,我们分别统计0-50,50-80,80-150,150-230,230-255区间的灰度分布:
int main()
{Mat Image=imread("../cat.png");cvtColor(Image,Image,CV_BGR2GRAY);const int channels[1]={0};int histSize[1]={5};float hranges[6]={0,50,80,150,230,255};const float* ranges[1]={hranges};MatND hist;calcHist(&Image,1,channels,Mat(),hist,1,histSize,ranges,false);return 0;
}
直方图的显示
从上面的例子中我们可以看出,直方图计算得到的实际上是一个多维数组,这并不够直观,我们希望能够像在Excel中把相关数据通过表的形式表示出来。
下面通过划线函数来把一个灰度直方图显示出来:
Mat getHistImg(const MatND& hist)
{double maxVal=0;double minVal=0;//找到直方图中的最大值和最小值minMaxLoc(hist,&minVal,&maxVal,0,0);int histSize=hist.rows;Mat histImg(histSize,histSize,CV_8U,Scalar(255));// 设置最大峰值为图像高度的90%int hpt=static_cast<int>(0.9*histSize);for(int h=0;h<histSize;h++){float binVal=hist.at<float>(h);int intensity=static_cast<int>(binVal*hpt/maxVal);line(histImg,Point(h,histSize),Point(h,histSize-intensity),Scalar::all(0));}return histImg;
}
opencv 从原始的图像中找出ROI区域相关推荐
- 【opencv】16.截取图像中的一个roi区域时,判断该roi是否越界
在图像处理中,经常会遇到程序运行中断,直接报如下错误: 这是选取的roi不合法导致的越界. 可以加上上面提示的内容,进行合法性判断: cv::Mat img; cv::Rect roi(x,y,w,h ...
- 使用 OpenCV 和 Tesseract 对图像中的感兴趣区域 (ROI) 进行 OCR
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在这篇文章中,我们将使用 OpenCV 在图像的选定区域上应用 O ...
- 利用人体肤色从图像中分割出人体区域的OpenCV代码
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 原理:YCbCr颜色空间是一种常用的肤色检测的色 ...
- c语言剪裁矩形,OpenCV – 使用C从图像中裁剪非矩形区域
裁剪图像的任意四边形(或任何多边形)部分的过程总结为: >生成"面具".面具是黑色的,你想要保留图像,而白色则是你不想保留它的地方 >计算输入图像和蒙版之间的" ...
- 提取图像感兴趣区域_从图像中提取感兴趣区域
提取图像感兴趣区域 Welcome to the second post in this series where we talk about extracting regions of intere ...
- python opencv 利用 GrabCut 算法(opencv已经实现)从图像中分离出前景
# 利用GrabCut算法从图像中分离出前景 import numpy as np import cv2 as cv from matplotlib import pyplot as pltimg = ...
- 如何使用OpenCV在图像中抠出指定的颜色区域
1 简要说明及流程 我们往往需要在图像中抠出指定颜色的区域.在实际工况下这种指定颜色不是简单的纯色,往往难以单一的用R G B的某个范围值去确定. 本文以PhotoShop为基准,在一副彩色图中按照提 ...
- 使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones)
使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones) 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍如何只使用基本的图 ...
- Python+Opencv寻找图像中最亮的区域
目录 一.场景需求解读 二.算法原理简介 三.算法代码实现 四.代码运行步骤 五.算法效果展示和分析 六.思维扩展 参考资料 注意事项 一.场景需求解读 在有些现实场景中,我们需要去使用算法自动的 ...
最新文章
- 先出报表还是先计提所得税_大征期来啦!5分钟熟练掌握企业所得税申报
- 引入外部化的配置文件
- linux mode4的双网卡绑定,Linux实现双网卡绑定自动化脚本 | 聂扬帆博客
- Jzoj4764 Brothers
- java开发环境怎样选择_怎样搭建Java开发环境?
- Android-动画-view 动画笔记
- cs python课程 加州大学_最新盘点!全球顶尖大学CS+数据科学的免费在线课程,共81个...
- Cesium:解决画线不光滑,模糊不清,锯齿状
- python弹幕点歌_GitHub - smilecc/blive-raspberry: 完全重构的树莓派B站直播弹幕点播台...
- 通用权限管理系统项目简单介绍
- HEVC: I帧、P帧及B帧
- 项目部署六---阿里云申请免费ssl证书并安装
- DAY 09 Python 操作Excel
- [英语]在英语学习的过程中学到的学习方法
- 20190223(MP4学习,Unicode了解,大小端温习)
- 雅虎面临大幅裁员 每个员工创造的营收不到Facebook的三分之一
- 2021年3月30日 关于交换机和数据链路层!!!
- 绿之韵背后不得不说的故事
- Burpsuite插件 reCAPTCHA识别验证码
- 老闪创业那些事儿(84)——地面网络是怎么管理的
热门文章
- preprocessing.StandardScaler中fit、fit_transform、transform的区别
- 移动数据库 Realm 在 React-Native 的使用详解
- 微信小程序开发问题汇总
- Android中通过ViewHelper.setTranslationY实现View移动控制(NineOldAndroids开源项目)
- 转→js数组遍历 千万不要使用for...in...
- Node.js 爬虫初探
- 为app添加发微博功能
- 自己编写错误代码的规范
- Redis面试题及分布式集群
- day5 ---- 数据类型及常用方法(字符串、列表)