Opencv二值图像的分布直方图
Mat img;
int color[];
int main()
{
VideoCapture video();
if (!video.isOpened())
{
return -;
}
Mat img;
Mat img1, img2, img3;
Mat grayimg1, grayimg2, grayimg3;
Mat binaryimg;
video >> img;
cvtColor(img, grayimg1, CV_BGR2GRAY);
while ()
{
video >> img; cvtColor(img, grayimg2, CV_BGR2GRAY);
absdiff(grayimg2, grayimg1, grayimg3);
medianBlur(binaryimg, binaryimg, );
threshold(grayimg3, binaryimg, , , CV_THRESH_BINARY_INV); imshow("gray", grayimg3);
imshow("binary", binaryimg);
//----------------------------------------------
int nRow = binaryimg.rows;
int nCol = binaryimg.cols;
//imshow("img", binaryimg);
memset(color, , sizeof(color));
for (int i = ; i < nRow; i++)
{
uchar *data = binaryimg.ptr<uchar>(i);
for (int j = ; j < nCol; j++)
{
if (*data == )
color[j]++;
*data++;
}
} int high = ;
Mat histimg(high, nCol, CV_8UC3); for (int j = ; j < nCol; j += )
{
if (color[j] < )
color[j] = ;
//else
//color[j] = 400;
line(histimg, Point(j, high - color[j]), Point(j, high), Scalar(, , ), );
} for (int j = ; j<nCol; j++)
{ }
imshow("Hist", histimg);
//--------------------------------------------------------
if(waitKey() > )
{
break;
}
}
waitKey();
return ;
}
Opencv二值图像的分布直方图的更多相关文章
- 【图像处理】基于OpenCV底层实现的直方图匹配
image processing 系列: [图像处理]图片旋转 [图像处理]高斯滤波.中值滤波.均值滤波 直方图匹配算法.又称直方图规定化.简单说.就是依据某函数.或者另外一张图片的引导,使得原图改变 ...
- 12、OpenCV实现图像的直方图处理
1.直方图 一幅图像由不同灰度值的像素组成,图像中灰度的分布情况是该图像的一个重要特征.图像的灰度直方图就描述了图像中灰度分布情况,能够很直观的展示出图像中各个灰度级所占的多少.图像的灰度直方图是灰度 ...
- OpenCV二值图像孔洞填充的一个简单方法
在Matlab下,使用imfill可以很容易的完成孔洞填充操作,感觉这是一个极为常用的方法,然而不知道为什么OpenCV里面却没有集成这个函数.在网上查了好多关于Opencv下的孔洞填充方法,大部分使 ...
- opencv:绘制图像直方图
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...
- opencv python:图像直方图 histogram
直接用matplotlib画出直方图 def plot_demo(image): plt.hist(image.ravel(), 256, [0, 256]) # image.ravel()将图像展开 ...
- OpenCV成长之路(4):图像直方图
一.图像直方图的概念 图像直方图是反映一个图像像素分布的统计表,其实横坐标代表了图像像素的种类,可以是灰度的,也可以是彩色的.纵坐标代表了每一种颜色值在图像中的像素总数或者占所有像素个数的百分比. 图 ...
- OpenCV成长之路:图像直方图
http://ronny.blog.51cto.com/8801997/1394115 2014-04-11 13:47:27 标签:opencv 直方图 统计表 原创作品,允许转载,转载时请务必以超 ...
- OpenCV直方图(直方图、直方图均衡,直方图匹配,原理、实现)
1 直方图 灰度级范围为 \([0,L-1]\) 的数字图像的直方图是离散函数 \(h(r_k) = n_k\) , 其中 \(r_k\) 是第\(k\)级灰度值,\(n_k\) 是图像中灰度为 \( ...
- Opencv笔记(十九)——直方图(一)
直方图概念 图像的构成是有像素点构成的,每个像素点的值代表着该点的颜色(灰度图或者彩色图).所谓直方图就是对图像的中的这些像素点的值进行统计,得到一个统一的整体的灰度概念.一般情况下直方图都是灰度图像 ...
随机推荐
- C#------如何判断输入的是否为纯数字
private void Btn_OK_Click(object sender, EventArgs e) { IDormitoryAdminCardService aservice = new Do ...
- mysqli连接数据库的模板
<?php $host="localhost"; $db_user="root"; //数据库用户 $db_pass=""; //数据 ...
- wamp环境PHP安装mongodb扩展
特别注意 :本地的下载的mongo 为线性TS *86 而不是64 按照apache的版本来定.
- string length()
#include <set> std::set<std::string> setName; int main() { std::string strName = "世 ...
- delphi SQL操作
create表 时不可以有类似Name之类的字段创建,否则报错,即使access数据库中执行正常 insert的字符型字段中不可以有英文单引号 ' 之类的存在,否则报错,可以用#39 代替,减少英 ...
- GPRS/3G
像GPRS/3G模块之类的应用,需要连接,登陆,初始化等步骤完成后才能传输数据,而这些步骤又比较耗时. 所以用 状态机 + 超时 的机制来实现比较合理. 如下代码片段来描述数据透传 : 状态机 + 超 ...
- yii2 如何用命名空间方式使用第三方类库
原文地址:http://www.yiichina.com/tutorial/395 Yii 2.0最显著的特征之一就是引入了命名空间,因此对于自定义类的引入方式也同之前有所不同.这篇文章讨论一下如何利 ...
- Idea修改js和jsp不用重启
- jquery的load和get的区别
jquery的load把返回的数据放到指定的元素中,不是全局函数:jquery的get把返回的数据交给用户处理,是全局函数. load和get同样是jquery的ajax函数,load的实现,几乎等于 ...
- ubuntu系统下使用锐捷上网的方法——特快
1.点击右上方的有线连接: 2.点击编辑连接: 3.选择802.x的安全性分页: 4.勾选下面的单选框: 5.输入登陆账号(通常就是学号),密码(通常是身份证后六位),如果出现了一个“解锁密码环”的对 ...