锅炉信息网 > 锅炉知识 > 锅炉百科

H-S直方图

发布时间:

为了描述图像的特性,常常需要分析HSV色彩空间下的直方图。要分析HSV色彩空间下的直方图,首先要将图像转换到HSV色彩空间中,然后将对

为了描述图像的特性,常常需要分析HSV色彩空间下的直方图。

要分析HSV色彩空间下的直方图,首先要将图像转换到HSV色彩空间中,然后将对应的H通道和S通道进行单元划分,最后在二维图像 上生成直方图。

代码示例如下:

#include <iostream>n#include <string>n#include <cmath>n#include <opencv2/opencv.hpp>nusing std::sin;nusing std::cos;n//使用CommandLineParser对输入的参数进行分析,获取输入的图片路径nstd::string GetFileName(int argc,char* argv[])n{n /*n argc : the size of argv[]n argv : the parameters of comdlinen */n const char* key = {n "{help h usage? || usage information}"n "{@picture || input picture}"n };n cv::CommandLineParser parser(argc,argv,key);n if (parser.has("help"))n {n parser.printMessage();n exit(0);n }n //如果没有输入图片路径n if (!parser.check())n {n parser.printErrors();n exit(-1);n }n std::string fileName = parser.get<std::string>(0);n return fileName;n}nint main(int argc,char* argv[])n{nn std::string fileName = GetFileName(argc,argv);n cv::Mat srcImage = cv::imread(fileName);n if (!srcImage.data)n {n std::cerr << "fail to load image" << std::endl;n exit(-1);n }n cv::Mat hsvImage;n cv::cvtColor(srcImage,hsvImage,cv::COLOR_BGR2HSV);n //直方图参数n int hbins = 30,sbins = 32;n int histSize[] = {hbins,sbins};n const int channels[] = {0,1};n float hranges[] = {0,180};n float sranges[] = {0,256};n const float *ranges[] = {hranges,sranges};n cv::MatND hist;n cv::calcHist(&hsvImage,1,channels,cv::Mat(),hist,2,histSize,ranges,true,false);n //找到直方图中得最大值n double maxVal = 0.0;n cv::minMaxLoc(hist,0,&maxVal,0,0);n int scale = 10;n cv::Mat histImage = cv::Mat::zeros(sbins*scale,hbins * scale,CV_8UC3);n for(int i=0;i < hbins;i++)n {n for(int j=0;j < sbins;j++)n {n float binValue = hist.at<float>(i,j);n int intensity = cvRound(binValue*255 / maxVal);n cv::rectangle(histImage,cv::Point(i*scale,j*scale),n cv::Point((i+1)*scale-1,(j+1)*scale-1),cv::Scalar::all(intensity),2,8,0);n }n }n cv::imshow("H-S HIst",histImage);n cv::imshow("srcImage",srcImage);n cv::waitKey(0);n cv::destroyAllWindows();n return 0;n}n

结果展示:

精选推荐

  • 711关东煮供应商
    711关东煮供应商

    今天给大家介绍三位,奶粉,全家、罗森这些便利店里关东煮的供应商。店里卖三四块钱一串的关东煮,在网上买不到,一块钱就搞定。首先关东

  • 健康日历|高压锅容易爆炸的4个原因
    健康日历|高压锅容易爆炸的4个原因

    来源:医药养生保健报设计:李雅琴医学审核:姜峰出品人:胡丽丽

  • 高炉
    高炉

    今天这活却是个白事,等到了时辰,那家人便准备火化,本来准备送普炉,我却心中一动,便对那家人说道:“这老人走也不要省,还是送高炉吧。”

  • 高压锅和电压力锅的区别,推荐几款点压力锅
    高压锅和电压力锅的区别,推荐几款点压

    记得之前有一次去朋友家玩,他正在用高压锅煮小米粥,是的,高压锅压小米粥,大概煮了半小时,高压锅突然爆炸了,现场惨不忍睹啊,幸好厨房里没

0