I was working on a project using OpenCV, Python that uses Probabilistic Hough Line Transform function "HoughLinesP" in some part of the project. My code worked just fine and there was no problem. Then I thought of converting the same code to C++.
After converting the code to C++, the output is not the same as that of the Python code. After long hours of debugging, I found out that everything else works fine but the "HoughLinesP" function is giving different output in the case of C++. The input to this function in both the languages is the same and the values of parameters are also the same but the output from it is different.
Can someone explain me why is this happening and any possible fixes for it?
Also, I have checked the version of OpenCV for both the languages, and it is the same: 4.5.0 dev
Also, I have tried playing with the values passed to the C++ code, but I am not able to obtain similar results.
Input Edge Image:
Python HoughLinesP() output:
C++ HoughLinesP() output:
Following are the codes in each language: Python:
Lines = cv2.HoughLinesP(EdgeImage, 1, np.pi / 180, 50, 10, 15)
C++:
std::vector<cv::Vec4i> Lines;
cv::HoughLinesP(EdgeImage, Lines, 1, CV_PI / 180, 50, 10, 15);
It would be a great help if anyone could suggest something.
from OpenCV Probabilistic Hough Line Transform giving different results with C++ and Python?
No comments:
Post a Comment