removed deprecated functions
This commit is contained in:
parent
1d3b149f43
commit
93ae4693ff
@ -65,13 +65,6 @@ private:
|
|||||||
/// \brief Creates and returns a random color
|
/// \brief Creates and returns a random color
|
||||||
[[nodiscard]] auto random_color() const noexcept;
|
[[nodiscard]] auto random_color() const noexcept;
|
||||||
|
|
||||||
/// \brief Generates random square coordinates
|
|
||||||
[[deprecated]] [[nodiscard]] auto get_square_values() const noexcept;
|
|
||||||
|
|
||||||
/// \brief Generates controlled random square coordinates
|
|
||||||
[[deprecated]] [[nodiscard]] auto get_controlled_square_values() const
|
|
||||||
noexcept;
|
|
||||||
|
|
||||||
/// \brief Generates a candidate for image generation improvement
|
/// \brief Generates a candidate for image generation improvement
|
||||||
[[nodiscard]] auto create_candidate(bool const t_controlled_size);
|
[[nodiscard]] auto create_candidate(bool const t_controlled_size);
|
||||||
|
|
||||||
@ -84,11 +77,6 @@ private:
|
|||||||
/// \brief Threaded helper for \ref get_color_set
|
/// \brief Threaded helper for \ref get_color_set
|
||||||
void threaded_get_color(int const t_h);
|
void threaded_get_color(int const t_h);
|
||||||
|
|
||||||
/// \brief Draw a square on an image
|
|
||||||
[[deprecated]] void draw_square(cv::Mat &t_img, cv::Point const &t_top_left,
|
|
||||||
int const t_size,
|
|
||||||
cv::Scalar const &t_color) const;
|
|
||||||
|
|
||||||
void draw_shape(cv::Mat &t_img, cv::Scalar &&t_color);
|
void draw_shape(cv::Mat &t_img, cv::Scalar &&t_color);
|
||||||
void create_shape() noexcept;
|
void create_shape() noexcept;
|
||||||
void create_controlled_shape() noexcept;
|
void create_controlled_shape() noexcept;
|
||||||
|
@ -33,7 +33,7 @@ public:
|
|||||||
|
|
||||||
/// \brief Generates a shape's points
|
/// \brief Generates a shape's points
|
||||||
void update(cv::Point &&t_max_pos, int const t_max_size,
|
void update(cv::Point &&t_max_pos, int const t_max_size,
|
||||||
int const t_min_size = 0) noexcept;
|
int const t_min_size = 1) noexcept;
|
||||||
|
|
||||||
[[nodiscard]] auto get_points() const noexcept
|
[[nodiscard]] auto get_points() const noexcept
|
||||||
-> std::array<cv::Point, Shape::MAX_POINTS> const &
|
-> std::array<cv::Point, Shape::MAX_POINTS> const &
|
||||||
|
@ -161,45 +161,6 @@ ImageManipulator::euclidian_distance(cv::Mat const &t_img) const noexcept
|
|||||||
return cv::Scalar(rand() % 255, rand() % 255, rand() % 255);
|
return cv::Scalar(rand() % 255, rand() % 255, rand() % 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Generates random x/y coordinates for a square and the size of said square.
|
|
||||||
*
|
|
||||||
* \return Tuple of three ints
|
|
||||||
*/
|
|
||||||
[[nodiscard]] auto ImageManipulator::get_square_values() const noexcept
|
|
||||||
{
|
|
||||||
int rand_x = rand() % reference_.size().width;
|
|
||||||
int rand_y = rand() % reference_.size().height;
|
|
||||||
int size = rand()
|
|
||||||
% std::min(reference_.size().width - rand_x,
|
|
||||||
reference_.size().height - rand_y);
|
|
||||||
return std::tuple<int, int, int>(rand_x, rand_y, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generates random x/y coordinates for a square’s origin (top left), and a
|
|
||||||
* random size which’s max and minimal value are controled as mentionned in the
|
|
||||||
* [report](https://labs.phundrak.fr/phundrak/genetic-images/blob/master/report/report.pdf).
|
|
||||||
*
|
|
||||||
* \return Tuple of three ints
|
|
||||||
*/
|
|
||||||
[[nodiscard]] auto ImageManipulator::get_controlled_square_values() const
|
|
||||||
noexcept
|
|
||||||
{
|
|
||||||
int rand_x = rand() % reference_.size().width;
|
|
||||||
int rand_y = rand() % reference_.size().height;
|
|
||||||
float const coef = static_cast<float>(remaining_iter_)
|
|
||||||
/ static_cast<float>(total_iterations_);
|
|
||||||
int const min_size
|
|
||||||
= static_cast<int>((static_cast<float>(std::min(reference_.size().width,
|
|
||||||
reference_.size().height))
|
|
||||||
/ 2.0f)
|
|
||||||
* coef);
|
|
||||||
int const max_size = min_size * 2 + 1;
|
|
||||||
int size = rand() % (max_size - min_size) + min_size;
|
|
||||||
return std::tuple<int, int, int>(rand_x, rand_y, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ImageManipulator::create_shape() noexcept
|
void ImageManipulator::create_shape() noexcept
|
||||||
{
|
{
|
||||||
shape_.update(cv::Point{reference_.size().width, reference_.size().height},
|
shape_.update(cv::Point{reference_.size().width, reference_.size().height},
|
||||||
@ -235,9 +196,9 @@ ImageManipulator::create_candidate(bool const t_controlled_size = false)
|
|||||||
auto temp_img = generated_image_.clone();
|
auto temp_img = generated_image_.clone();
|
||||||
auto const &color = colors_[rand() % colors_.size()];
|
auto const &color = colors_[rand() % colors_.size()];
|
||||||
if (t_controlled_size) {
|
if (t_controlled_size) {
|
||||||
create_shape();
|
|
||||||
} else {
|
|
||||||
create_controlled_shape();
|
create_controlled_shape();
|
||||||
|
} else {
|
||||||
|
create_shape();
|
||||||
}
|
}
|
||||||
draw_shape(temp_img, cv::Scalar{static_cast<double>(color[0]),
|
draw_shape(temp_img, cv::Scalar{static_cast<double>(color[0]),
|
||||||
static_cast<double>(color[1]),
|
static_cast<double>(color[1]),
|
||||||
@ -323,26 +284,6 @@ void ImageManipulator::threaded_get_color(int const t_h)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Draw a square on the image passed as its argument, following its passed
|
|
||||||
* coordinates and with the passed color.
|
|
||||||
*
|
|
||||||
* \param[out] t_img Image to draw the square to
|
|
||||||
* \param[in] t_top_left Origin of the square
|
|
||||||
* \param[in] t_size Size of the square
|
|
||||||
* \param[in] t_color Color of the square
|
|
||||||
*/
|
|
||||||
void ImageManipulator::draw_square(cv::Mat &t_img, cv::Point const &t_top_left,
|
|
||||||
int const t_size,
|
|
||||||
cv::Scalar const &t_color) const
|
|
||||||
{
|
|
||||||
std::array<cv::Point, 4> points
|
|
||||||
= {t_top_left, cv::Point{t_top_left.x, t_top_left.y + t_size},
|
|
||||||
cv::Point{t_top_left.x + t_size, t_top_left.y + t_size},
|
|
||||||
cv::Point{t_top_left.x + t_size, t_top_left.y}};
|
|
||||||
fillConvexPoly(t_img, points.data(), 4, t_color);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ImageManipulator::draw_shape(cv::Mat &t_img, cv::Scalar &&t_color)
|
void ImageManipulator::draw_shape(cv::Mat &t_img, cv::Scalar &&t_color)
|
||||||
{
|
{
|
||||||
fillConvexPoly(t_img, shape_.get_points().data(), shape_.get_nb_points(),
|
fillConvexPoly(t_img, shape_.get_points().data(), shape_.get_nb_points(),
|
||||||
|
Loading…
Reference in New Issue
Block a user