Mat 统计白点数(未完成)

简介:

留给自己看的一个存根。。大家忽略


//opencv2.0风格

#include "cv.h"
#include "highgui.h"

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>

#include <iostream>
#include <string>
#include <cstdio>

using namespace std;
using namespace cv;

using namespace std;

void Image_Stat(Mat img)
{
	
	int i,j,width,height,step,chanel;
	unsigned char *dataX;

	width = img.cols;
	height = img.rows;

	//存入矩阵数据
	dataX = (unsigned char *)img.data;

	//计算步长
	step = img.step/sizeof(char);
	chanel = img.channels();

	int count=0;
	//一个个数据处理
	for(i=0; i<height; i++)
		for(j=0; j<width*chanel; j++)
			if(dataX[i*step+j] == 255)
				count++;

	int area=width*height;
	cout<<"长 == "<<width<<" 宽 == "<<height<<endl;
	cout<<"面积 == "<<area<<endl;
	cout<<"count == "<<count<<endl;
	cout<<"占比 == "<<(double)count/area<<endl;
}


int main()
{
	Mat img;
	//img = imread("mmr_out.jpg");
	img = imread("zcr_out.jpg");


	//图像差分,最最关键的一步
	Image_Stat(img);

	imshow("img",img);
	
	cvWaitKey(0);
	//销毁窗口
	
	return 0;
}



相关文章
|
算法 测试技术 C#
C++前缀和算法应用:矩形区域不超过 K 的最大数值和
C++前缀和算法应用:矩形区域不超过 K 的最大数值和
|
1月前
|
Python
将NC栅格表示时间维度的数据提取出来的方法
【10月更文挑战第20天】本文介绍了如何使用 Python 和 R 语言以及 ArcGIS 软件提取 netCDF 文件中的时间维度数据。首先,通过安装和导入必要的库(如 Python 的 `netCDF4` 和 `numpy`,R 的 `ncdf4`),打开 netCDF 文件并读取时间变量。接着,详细展示了 Python 和 R 的示例代码,说明了如何读取和处理时间数据。最后,介绍了在 ArcGIS 中添加 netCDF 文件、启用时间属性并提取时间维度数据的方法。
|
5月前
|
计算机视觉
OpenCV图像像素值统计
OpenCV图像像素值统计
|
5月前
|
人工智能
技术心得:区间检测(range)
技术心得:区间检测(range)
34 0
|
6月前
|
Serverless
统计问题|绘制任意分布的 QQ 图
统计问题|绘制任意分布的 QQ 图
139 1
|
6月前
leetcode-363:矩形区域不超过 K 的最大数值和
leetcode-363:矩形区域不超过 K 的最大数值和
41 0
|
11月前
Echarts 柱状图添加标记 最大值 最小值 平均值
Echarts 柱状图添加标记 最大值 最小值 平均值
|
存储
多状态动态规划之删除并获得点数
多状态动态规划之删除并获得点数
|
编解码
PTA 1066 图像过滤 (15 分)
图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。
98 0