@ -0,0 +1 @@ |
|||
/home/guillaume/Documents/3A_supelec/miniprojet/tests/src/math.hpp |
|||
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 172 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 172 KiB |
@ -0,0 +1,44 @@ |
|||
#include <math.hpp> |
|||
|
|||
int main(int argc, char** argv) { |
|||
std::string imagename = ""; |
|||
int threshold = 25; |
|||
std::string save_path = "."; |
|||
|
|||
if (argc > 3) { |
|||
imagename = argv[1]; |
|||
threshold = atoi(argv[2]); |
|||
save_path = argv[3]; |
|||
} else { |
|||
std::cout << "Invalid number of arguments: test-descripteurs <path_to_image> [<threshold>]" << std::endl; |
|||
return 0; |
|||
} |
|||
|
|||
cv::namedWindow("Image", CV_WINDOW_AUTOSIZE); |
|||
cv::namedWindow("Contour", CV_WINDOW_AUTOSIZE); |
|||
|
|||
cv::Mat image = cv::imread(imagename, CV_LOAD_IMAGE_COLOR); |
|||
cv::Mat binary(image.rows, image.cols, CV_8UC1); |
|||
cv::Mat contour(image.rows, image.cols, CV_8UC1); |
|||
|
|||
cv::GaussianBlur(image, image, cv::Size(7,7), 1.5, 1.5); |
|||
math::filter(image, binary, threshold); |
|||
|
|||
std::vector<std::vector<cv::Point>> contours; |
|||
std::vector<cv::Vec4i> hierarchy; |
|||
cv::findContours(binary, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE); |
|||
|
|||
if (contours.size() != 0) { |
|||
int id = math::max_cont(contours); |
|||
cv::drawContours(contour, contours, id, 255, 4); |
|||
} |
|||
|
|||
cv::imshow("Image", image); |
|||
cv::imshow("Contour", contour); |
|||
|
|||
cv::imwrite(save_path+"/raw_image.png", image); |
|||
cv::imwrite(save_path+"/contour_"+std::to_string(threshold)+".png", contour); |
|||
|
|||
cv::waitKey(0); |
|||
return 0; |
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
#include <math.hpp> |
|||
|
|||
int main(int argc, char** argv) { |
|||
std::string imagename = ""; |
|||
int threshold = 25; |
|||
std::string save_path = "."; |
|||
|
|||
if (argc > 3) { |
|||
imagename = argv[1]; |
|||
threshold = atoi(argv[2]); |
|||
save_path = argv[3]; |
|||
} else { |
|||
std::cout << "Invalid number of arguments: test-descripteurs <path_to_image> [<threshold>]" << std::endl; |
|||
return 0; |
|||
} |
|||
|
|||
cv::namedWindow("Image", CV_WINDOW_AUTOSIZE); |
|||
cv::namedWindow("Binary", CV_WINDOW_AUTOSIZE); |
|||
|
|||
cv::Mat image = cv::imread(imagename, CV_LOAD_IMAGE_COLOR); |
|||
cv::Mat binary(image.rows, image.cols, CV_8UC1); |
|||
|
|||
cv::GaussianBlur(image, image, cv::Size(7,7), 1.5, 1.5); |
|||
math::filter(image, binary, threshold); |
|||
|
|||
cv::imshow("Image", image); |
|||
cv::imshow("Binary", binary); |
|||
|
|||
cv::imwrite(save_path+"/raw_image.png", image); |
|||
cv::imwrite(save_path+"/binary_"+std::to_string(threshold)+".png", binary); |
|||
|
|||
cv::waitKey(0); |
|||
return 0; |
|||
} |
|||
@ -0,0 +1,5 @@ |
|||
#include "math.hpp" |
|||
|
|||
int main(int argc, char** argv) { |
|||
return 0; |
|||
} |
|||