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区域相关推荐

  1. 【opencv】16.截取图像中的一个roi区域时,判断该roi是否越界

    在图像处理中,经常会遇到程序运行中断,直接报如下错误: 这是选取的roi不合法导致的越界. 可以加上上面提示的内容,进行合法性判断: cv::Mat img; cv::Rect roi(x,y,w,h ...

  2. 使用 OpenCV 和 Tesseract 对图像中的感兴趣区域 (ROI) 进行 OCR

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在这篇文章中,我们将使用 OpenCV 在图像的选定区域上应用 O ...

  3. 利用人体肤色从图像中分割出人体区域的OpenCV代码

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 原理:YCbCr颜色空间是一种常用的肤色检测的色 ...

  4. c语言剪裁矩形,OpenCV – 使用C从图像中裁剪非矩形区域

    裁剪图像的任意四边形(或任何多边形)部分的过程总结为: >生成"面具".面具是黑色的,你想要保留图像,而白色则是你不想保留它的地方 >计算输入图像和蒙版之间的" ...

  5. 提取图像感兴趣区域_从图像中提取感兴趣区域

    提取图像感兴趣区域 Welcome to the second post in this series where we talk about extracting regions of intere ...

  6. python opencv 利用 GrabCut 算法(opencv已经实现)从图像中分离出前景

    # 利用GrabCut算法从图像中分离出前景 import numpy as np import cv2 as cv from matplotlib import pyplot as pltimg = ...

  7. 如何使用OpenCV在图像中抠出指定的颜色区域

    1 简要说明及流程 我们往往需要在图像中抠出指定颜色的区域.在实际工况下这种指定颜色不是简单的纯色,往往难以单一的用R G B的某个范围值去确定. 本文以PhotoShop为基准,在一副彩色图中按照提 ...

  8. 使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones)

    使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones) 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍如何只使用基本的图 ...

  9. Python+Opencv寻找图像中最亮的区域

    目录 一.场景需求解读 二.算法原理简介 三.算法代码实现 四.代码运行步骤 五.算法效果展示和分析 六.思维扩展 参考资料 注意事项 一.场景需求解读   在有些现实场景中,我们需要去使用算法自动的 ...

最新文章

  1. 先出报表还是先计提所得税_大征期来啦!5分钟熟练掌握企业所得税申报
  2. 引入外部化的配置文件
  3. linux mode4的双网卡绑定,Linux实现双网卡绑定自动化脚本 | 聂扬帆博客
  4. Jzoj4764 Brothers
  5. java开发环境怎样选择_怎样搭建Java开发环境?
  6. Android-动画-view 动画笔记
  7. cs python课程 加州大学_最新盘点!全球顶尖大学CS+数据科学的免费在线课程,共81个...
  8. Cesium:解决画线不光滑,模糊不清,锯齿状
  9. python弹幕点歌_GitHub - smilecc/blive-raspberry: 完全重构的树莓派B站直播弹幕点播台...
  10. 通用权限管理系统项目简单介绍
  11. HEVC: I帧、P帧及B帧
  12. 项目部署六---阿里云申请免费ssl证书并安装
  13. DAY 09 Python 操作Excel
  14. [英语]在英语学习的过程中学到的学习方法
  15. 20190223(MP4学习,Unicode了解,大小端温习)
  16. 雅虎面临大幅裁员 每个员工创造的营收不到Facebook的三分之一
  17. 2021年3月30日 关于交换机和数据链路层!!!
  18. 绿之韵背后不得不说的故事
  19. Burpsuite插件 reCAPTCHA识别验证码
  20. 老闪创业那些事儿(84)——地面网络是怎么管理的

热门文章

  1. preprocessing.StandardScaler中fit、fit_transform、transform的区别
  2. 移动数据库 Realm 在 React-Native 的使用详解
  3. 微信小程序开发问题汇总
  4. Android中通过ViewHelper.setTranslationY实现View移动控制(NineOldAndroids开源项目)
  5. 转→js数组遍历 千万不要使用for...in...
  6. Node.js 爬虫初探
  7. 为app添加发微博功能
  8. 自己编写错误代码的规范
  9. Redis面试题及分布式集群
  10. day5 ---- 数据类型及常用方法(字符串、列表)