欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

opencv學(xué)習(xí)筆記C++繪制灰度直方圖

 更新時間:2022年05月12日 14:53:54   作者:淺念念52  
這篇文章主要為大家介紹了opencv學(xué)習(xí)筆記C++繪制灰度直方圖的實(shí)現(xiàn)代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

直方圖的計(jì)算很簡單,無非就是遍歷圖像的像素,統(tǒng)計(jì)每個灰度級的個數(shù),opencv中calcHist函數(shù)能夠同時計(jì)算過個圖像,多個通道,不同灰度范圍的灰度直方圖。

void calcHist(const Mat* images, int nimages,
		const int* channels, InputArray mask,
		OutputArray hist, int dims, const int* histSize,
		const float** ranges, bool uniform = true, bool accumulate = false);

參數(shù)釋義

images 輸入的圖像

nimages 輸入的圖像個數(shù)

channels 統(tǒng)計(jì)直方圖第幾通道

mask 可選的操作掩碼

hist 輸出的直方圖數(shù)組

dims 需要統(tǒng)計(jì)直方圖通道的個數(shù)

histSize 直方圖分成多少個區(qū)間

ranges 像素值區(qū)間

uniform 是否進(jìn)行歸一化處理

accumulate 在多個圖像時是否計(jì)算像素值個數(shù)

接下來直接看代碼:

	Mat img;
	img = imread("貓1.jpg",0);
	int channels[] = { 0 };
	int bins = 256;
	Mat hist;
	int hist_size[] = { bins };
	float range[] = { 0,256 };
	const float*ranges[] = { range };
	calcHist(&img, 1, 0, Mat(), hist, 1, hist_size, ranges);
	double max_val;
	minMaxLoc(hist, 0, &max_val);//定義矩陣中最小值,最大值的位置
	int scale = 2;
	int hist_height =256;
	Mat hist_ing = Mat::zeros(hist_height, scale*bins, CV_8UC3);
	for (int i = 0; i < bins; i++)
	{
		float bin_val = hist.at<float>(i);//圖像的灰度頻率表
		int inten = cvRound(bin_val*hist_height / max_val);//繪制高度
		rectangle(hist_ing, Point(scale*i, hist_height - 1), Point((i + 1)*scale - 1, hist_height - inten), CV_RGB(255, 255, 255));
	}
	imshow("直方圖", hist_ing);
	waitKey(0);

效果如下:

以上就是opencv學(xué)習(xí)筆記C++繪制灰度直方圖的詳細(xì)內(nèi)容,更多關(guān)于C++ opencv灰度直方圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C語言一看就懂的選擇與循環(huán)語句及函數(shù)介紹

    C語言一看就懂的選擇與循環(huán)語句及函數(shù)介紹

    函數(shù)是一個功能模塊,它把實(shí)現(xiàn)某個功能的代碼塊包含起來,并起一個函數(shù)名,供別人調(diào)用,如printf函數(shù),如system函數(shù)。是程序運(yùn)行當(dāng)中包裝起來的一個步驟;選擇與循環(huán)是編程中最常用的結(jié)構(gòu),本篇文章用最簡單的文字帶你了解它們
    2022-04-04
  • kernel劫持modprobe?path內(nèi)容詳解

    kernel劫持modprobe?path內(nèi)容詳解

    這篇文章主要為大家介紹了kernel劫持modprobe?path的內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • C語言之system函數(shù)案例詳解

    C語言之system函數(shù)案例詳解

    這篇文章主要介紹了C語言之system函數(shù)案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C生萬物C語言宏將整數(shù)二進(jìn)制位的奇偶數(shù)位交換

    C生萬物C語言宏將整數(shù)二進(jìn)制位的奇偶數(shù)位交換

    這篇文章主要為大家介紹了C生萬物C語言使用宏將整數(shù)二進(jìn)制位的奇偶數(shù)位交換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • C++實(shí)現(xiàn)中值濾波的示例代碼

    C++實(shí)現(xiàn)中值濾波的示例代碼

    本文主要介紹了C++實(shí)現(xiàn)中值濾波的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 在C++程序中開啟和禁用Windows設(shè)備的無線網(wǎng)卡的方法

    在C++程序中開啟和禁用Windows設(shè)備的無線網(wǎng)卡的方法

    這篇文章主要介紹了在C++程序中開啟和禁用Windows設(shè)備的無線網(wǎng)卡的方法,包括一些常見錯誤的分析與解決,需要的朋友可以參考下
    2016-03-03
  • C語言面試常見考點(diǎn)排序總結(jié)

    C語言面試常見考點(diǎn)排序總結(jié)

    深處開發(fā)崗,其實(shí)排序也是繞不開的環(huán)節(jié),其中冒泡排序,選擇排序,插入排序,歸并排序,快速排序,堆排序也是我在秋招以來頻繁問到的技術(shù)點(diǎn),今天我們來重點(diǎn)聊聊排序
    2021-11-11
  • C語言實(shí)現(xiàn)手寫Map(全功能)的示例代碼

    C語言實(shí)現(xiàn)手寫Map(全功能)的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C語言實(shí)現(xiàn)手寫Map(全功能),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C語言有一定幫助,需要的可以參考一下
    2022-08-08
  • C語言數(shù)據(jù)結(jié)構(gòu)之線索二叉樹及其遍歷

    C語言數(shù)據(jù)結(jié)構(gòu)之線索二叉樹及其遍歷

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之線索二叉樹及其遍歷的相關(guān)資料,為了加快查找節(jié)點(diǎn)的前驅(qū)和后繼。對二叉樹的線索化就是對二叉樹進(jìn)行一次遍歷,在遍歷的過程中檢測節(jié)點(diǎn)的左右指針是否為空,如果是空,則將他們改為指向前驅(qū)和后繼節(jié)點(diǎn)的線索,需要的朋友可以參考下
    2017-08-08
  • opencv求解區(qū)域的內(nèi)接矩形

    opencv求解區(qū)域的內(nèi)接矩形

    這篇文章主要為大家詳細(xì)介紹了opencv求解區(qū)域的內(nèi)接矩形,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07

最新評論