opencv2灰度图像直方图

cv::Mat getHistogramImage(const cv::Mat &image){
	//compute histogram first
	cv::MatND hist = getHistogram(image);
	//get min and max bin values
	double maxVal = 0;
	double minVal = 0;
	cv::minMaxLoc(hist,&minVal,&maxVal,0,0);
	//Image on which to display histogram
	cv::Mat histImg(histSize[0],histSize[0],CV_8U,cv::Scalar(255));
	//set highest point at 90% of nbins 
	int hpt = static_cast<int>(0.9*histSize[0]);
	//Draw a vertical line for each bin 
	for (int h =0;h<histSize[0];h++)
	{
		float binVal = hist.at<float>(h);
		int intensity = static_cast<int>(binVal*hpt/maxVal);
		cv::line(histImg,cv::Point(h,histSize[0]),cv::Point(h,histSize[0]-intensity),cv::Scalar::all(0));
	}
	return histImg;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值