diff --git a/apps/specular_estimation/CMakeFiles/specular_estimation.dir/src/specular_estimation.cc.o b/apps/specular_estimation/CMakeFiles/specular_estimation.dir/src/specular_estimation.cc.o index 0f2501ce8694deeb531b2344c21b53e7c2bdec9d..875c8f0e893f4b5d30849024a3126233a7f4c5e1 100644 Binary files a/apps/specular_estimation/CMakeFiles/specular_estimation.dir/src/specular_estimation.cc.o and b/apps/specular_estimation/CMakeFiles/specular_estimation.dir/src/specular_estimation.cc.o differ diff --git a/apps/specular_estimation/src/Charuco.h b/apps/specular_estimation/src/Charuco.h index a7f8016f66eca56d4154ccec3911da342191134f..59f1e683dd0025db286e1f175675de8c215361ce 100644 --- a/apps/specular_estimation/src/Charuco.h +++ b/apps/specular_estimation/src/Charuco.h @@ -152,8 +152,8 @@ std::vector<cv::Mat> charucoAlignment(std::vector<cv::Mat> materialImages, int n int dictionaryId = 0; cv::Ptr<cv::aruco::Dictionary> dictionary = cv::aruco::getPredefinedDictionary(cv::aruco::PREDEFINED_DICTIONARY_NAME(dictionaryId)); // Create a ChArUco board - int xSquares = 9; - int ySquares = 11; + int xSquares = 11; + int ySquares = 9; int height = materialImages[0].rows; int width = materialImages[0].cols; float squareSideLength = 0.04f; @@ -228,9 +228,9 @@ std::vector<cv::Mat> charucoAlignment(std::vector<cv::Mat> materialImages, int n i++; //cv::waitKey(0); - - return charucoImages; } + + return charucoImages; } std::vector<cv::Mat> charucoAlignment(std::vector<cv::Mat> materialImages, int numberOfLights, cv::Mat& perspectiveTransform, cv::Mat cameraMatrix, cv::Mat distortionCoefficients) { @@ -241,10 +241,10 @@ std::vector<cv::Mat> charucoAlignment(std::vector<cv::Mat> materialImages, int n int dictionaryId = 0; cv::Ptr<cv::aruco::Dictionary> dictionary = cv::aruco::getPredefinedDictionary(cv::aruco::PREDEFINED_DICTIONARY_NAME(dictionaryId)); // Create a ChArUco board - int xSquares = 9; - int ySquares = 11; + int xSquares = 11; + int ySquares = 9; int height = materialImages[0].rows; - int width = materialImages[0].cols; + int width = ((height * xSquares) / ySquares); float squareSideLength = 0.04f; float markerSideLength = 0.02f; cv::Ptr<cv::aruco::CharucoBoard> charucoBoard = cv::aruco::CharucoBoard::create(xSquares, ySquares, squareSideLength, markerSideLength, dictionary); @@ -322,10 +322,11 @@ std::vector<cv::Mat> charucoAlignment(std::vector<cv::Mat> materialImages, int n i++; - //cv::waitKey(0); - - return charucoImages; + cv::imshow("Undistorted ChArUco", undistortedCharuco); + cv::waitKey(0); } + + return charucoImages; } void createArucoDictionary(std::vector< cv::Mat >& arucoMarkers, int dictionaryId) { diff --git a/apps/specular_estimation/src/specular_estimation.cc b/apps/specular_estimation/src/specular_estimation.cc index ee61598e01c4fe45775702adb70584537fce7dfa..3849edddeff64260778025e8617c6ffd8529afa1 100644 --- a/apps/specular_estimation/src/specular_estimation.cc +++ b/apps/specular_estimation/src/specular_estimation.cc @@ -80,7 +80,7 @@ void specularEstimation(std::string imageName, std::string calibration, double R std::cout << "Camera parameters obtained.\n"; cv::Mat perspectiveTransform; - materialImages = loadImages(materialPath, 4); + materialImages = loadImages(materialPath); materialImages = charucoAlignment(materialImages, numberOfLights, perspectiveTransform, cameraMatrix, distortionCoefficients); std::cout << "ChArUco alignment successful.\n"; diff --git a/bin/specular_estimation b/bin/specular_estimation index d16a1e638608dbe9ec242e87cc63971fa2059349..59e26bf22540558453eb544c0410366121f2acad 100755 Binary files a/bin/specular_estimation and b/bin/specular_estimation differ