1
我試圖從彩色圖像中獲取黑白直方圖數據。然而,目前的設置,我與我的直方圖只顯示顏色數據我敢肯定,這是我必須修改我當前的數學設置。從直方圖中獲取黑白亮度值
// Current setup on how to render histogram data to the screen with hist being the calculated histogram
histimg = Mat::zeros(200, 320, CV_8UC3)
int binW = histimg.cols/16;
Mat buf(1, 16, CV_8UC3);
for(int i = 0; i < 16; i++)
{
buf.at<Vec3b>(i) = Vec3b(saturate_cast<uchar>(i*180./16), 255, 255);
}
cvtColor(buf, buf, CV_HSV2BGR);
for(int i = 0; i < 16; i++)
{
int val = saturate_cast<int>(hist.at<float>(i)*histimg.rows/255);
rectangle(histimg, Point(i*binW,histimg.rows),
Point((i+1)*binW,histimg.rows - val),
Scalar(buf.at<Vec3b>(i)), -1, 8);
}
在此先感謝您的任何建議。
我不知道你_I的意思我試圖從顏色image._你的意思是你想要的彩色圖像的灰度強度直方圖獲得黑白直方圖數據?還是你想繪製一個黑色和白色的直方圖?另外,計算機視覺中的「黑白」與電視中的不同。在電視上它意味着各種各樣的灰色陰影。在我們的世界裏,它是代表黑色或白色的兩個二進制值之一。 – SSteve
我有用於創建直方圖的彩色圖像。根據我的數學,我可以得到不同的紅色,綠色和藍色以及它們的強度值。我想對黑色,(0,0,0)和白色(255,255,255)顏色值也是這樣。 – Seb