您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 临汾分类信息网,免费分类信息发布

opencv2对读书笔记计算图像的直方图

2024/5/23 8:36:06发布72次查看
1.一些小概念: (1) 像素在图像中的分布情况是这幅图像的一个重要特征。 (2) 直方图是一个简单的表,它给出了一幅图像或一组图像中用于给定数的像素数量。 2.calchist 函数 calhist 是opencv 中可以计算直方图。 private:int histsize[1];//色度变换宽度floa
1.一些小概念:
(1) 像素值在图像中的分布情况是这幅图像的一个重要特征。
(2) 直方图是一个简单的表,它给出了一幅图像或一组图像中用于给定数值的像素数量。
2.calchist 函数
calhist 是opencv 中可以计算直方图。
private: int histsize[1];//色度变换宽度 float hranges[2];//像素的最小值及最大值 const float * ranges[1];// int channels[1];//使用的通道 public: histogram1d(){ histsize[0] = 256; hranges[0] = 0.0; hranges[1] = 255.0; ranges[0] = hranges; channels[0] = 0; } cv::matnd gethistogram(const cv::mat &image){ cv::matnd hist; cv::calchist(&image,1,channels,cv::mat(),hist,1,histsize,ranges); return hist; }
下面给出对一个具体图像求出直方图的例子
#include #include #include cv.h#include highgui.h#include using namespace std;class histogram1d {private: int histsize[1]; float hranges[2]; const float* ranges[1]; int channels[1];public: histogram1d() { histsize[0]= 256; hranges[0]= 0.0; hranges[1]= 255.0; ranges[0]= hranges; channels[0]= 0; } cv::matnd gethistogram(const cv::mat &image) { cv::matnd hist; cv::calchist(&image, //目标图像 1, // 计算一张直方图 channels, // 使用的通道数量 cv::mat(), // 图像开关 hist, // 返回的直方图 1, // 1d直方图 histsize, // 色图宽度 ranges // 像素值的范围 ); return hist; } cv::mat gethistogramimage(const cv::mat &image){ cv::matnd hist= gethistogram(image); double maxval=0; double minval=0; cv::minmaxloc(hist, &minval, &maxval, 0, 0); cv::mat histimg(histsize[0], histsize[0], cv_8u,cv::scalar(255)); int hpt = static_cast(0.9*histsize[0]); for( int h = 0; h (h); int intensity = static_cast(binval*hpt/maxval); cv::line(histimg,cv::point(h,histsize[0]),cv::point(h,histsize[0]-intensity),cv::scalar::all(0)); } return histimg; }};int main(){ cv::mat image= cv::imread(group.jpg,0); if (!image.data) return 0; cv::namedwindow(image); cv::imshow(image,image); histogram1d h; cv::matnd histo= h.gethistogram(image); for (int i=0; i(i)
输出结果

临汾分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录