Plot histogram of Sobel operator magnitude and angle in OpenCV?

asked 2017-09-05 20:27:01 -0500

adnan_318 gravatar image

I want to plot histogram in OpenCV C++. The task is that x-axis should be angle and y-axis should be magnitude of histogram. I calculate magnitude and angle by using Sobel operator. Now how can I plot histogram by using magnitude and angle?

Thanks in advance. The simple code of problem is

// Read image Mat img = imread("abs.jpg"); img.convertTo(img, CV_32F, 1 / 255.0); /GaussianBlur(img, img, Size(3, 3), 0, 0, BORDER_CONSTANT);/ // Calculate gradients gx, gy Mat gx, gy; Sobel(img, gx, CV_32F, 1, 0, 1); Sobel(img, gy, CV_32F, 0, 1, 1);

// C++ Calculate gradient magnitude and direction (in degrees)
Mat mag, angle;

cartToPolar(gx, gy, mag, angle, 1); imshow("magnitude of image is", mag); imshow("angle of image is", angle);

edit retag flag offensive close merge delete


Take a look at the official histogram calculation example

StevenPuttemans gravatar imageStevenPuttemans ( 2017-09-06 03:32:59 -0500 )edit