我有一个轮廓图像的水平和垂直投影{Mat shape}。我想将它显示为直方图。我尝试使用线功能进行规范化和绘图但是不能。请帮忙 。提前致谢。silhouette
Mat ret;
threshold(shape,ret,0,255,CV_THRESH_BINARY_INV+CV_THRESH_OTSU);
Mat horizontal(ret.cols,1,CV_32S);//horizontal histogram
horizontal = Scalar::all(0);
Mat vertical(ret.rows,1,CV_32S);//vertical histogram
vertical = Scalar::all(0);
for(int i=0;i<ret.cols;i++)
{
horizontal.at<int>(i,0)=countNonZero(ret(Rect(i,0,1,ret.rows)));
}
for(int i=0;i<ret.rows;i++)
{
vertical.at<int>(i,0) = countNonZero(ret(Rect(0,i,ret.cols,1)));
}
normalize(vertical,vertical,0,ret.rows,NORM_MINMAX);